On Feb 16, 4:12 ¨Βν¬ ΠιοτΣαχιγλΌπιοτς®σαχι®®®ΐηναιμ®γονχςοτεΊ
> Run this program and observe memory usage.
>
> <code>
>
> def leaker
> a = ""
> 10000.times do
>  ¨Β Άβυβμε> end
> a = ""
> end
>
> loop do
> leaker
> end
>
> </code>
> --
> Posted viahttp://www.ruby-forum.com/.

Not a bug in any way. It's simply that the garbage collector has not
been trigger. It runs only when it needs to. As you realized you, you
can force it to run by doing 'GC.start'. If you run 'GC.start' at the
end of your program, you'll see the memory reclaimed.

This is a typical behavior for a mark/sweep garbage collector. Perl
and Python are reference count, freeing memory the instant it goes out
of scope. Ruby waits to free memory until it needs memory to free some.