The interpreter GC mechanism places newly allocated objects on a push through stack that will keep new objects alive for short intervals. This stack is global, which means objects can get pushed out of the stack by a thread switch. Because of this, the stack is generally larger than it need be, which can anchor objects for longer intervals than they should. A stack that associated with each activity would achieve the appropriate balance point.
Anonymous