Squidster wrote:
> I've isolated the problem, and it's something to do with #clone and
> how the GC interacts with cloned objects. Apparently cloned objects
> are not garbage collected, I've got no idea why not..
[...]
> So the million dollar question is: Why the GC is not able to
> mark/sweep cloned objects, whereas it can obviously GC fresh
> instances?

I'll bet you a beer your barking up the wrong tree, but:
What version of Ruby are you using?
Can you give us a complete, runnable program (preferably as short as
possible) that reproduces the bug? 

As for using finalizers, there is the common pitfall of inadvertantly
leaving a reference to the object in the scope of the finalizer block...

-- 
(\[ Kent Dahl ]/)_    _~_    __[ http://www.stud.ntnu.no/~kentda/ ]___/~
 ))\_student_/((  \__d L b__/  NTNU - graduate engineering - 5. year  )
( \__\_/__/ ) _)Industrial economics and technological management(
 \____/_\____/ (____engineering.discipline_=_Computer::Technology___)