1. A system for doing garbage collection (GC) comprising: a) multiple threads that simultaneously perform work for GC; b) means for examining the placement of objects on blocks; and c) means for changing the placement of objects on blocks based on said examining.