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.