1. A computer controlled method to effectuate a garbage collection system wherein an object stored in a first allocated memory region at a first memory location within a heap memory can be relocated by said garbage collection system to a second allocated memory region at a second memory location within said heap memory while said object is live, said garbage collection system tracing a thread-context from which said object can be determined to be live prior to attempting to relocate said object; wherein the improvement comprises: adding a pointer that references said first allocated memory region to a pinned collection in said thread-context; wherein tracing said thread-context occurs subsequent to adding said pointer but prior to removing said pointer from said pinned collection, and tracing said thread-context further comprises: retrieving said pointer from said pinned collection; and fixing said object to said first allocated memory region such that said object will not be relocated; removing said pointer from said pinned collection; and releasing said object from said first allocated memory region whereby said object can be relocated.