Very strange GC behaviour

Can these registers be cleared without doing much damage before doing
the garbage collection, thus providing a less conservative GC.start
function (perhaps with a parameter true or false for easy
selection)? I
found a function rb_gc_start in gc.c. I'm guessing this can
best be done
before the rb_gc call. Or are things more complicated as they seem...

I had some troubles (and still having some) with the gc also.
I guess the registers aren't much of a problem, cause they will get
overriden sooner than later.
In almost all cases the 'unused' objects are getting collected if you
leave method scope, if you stay inside a local scope they often stay
alive.
Realy nasty problems seem to arrise with threads. There are examples
(in this ML) where a prog with only 2 Threads alive at every given time
keeps allocating memory until it crashes.

cheers

Simon