What keeps an interrupt from happening while a GC is finishing up and switching the from and to space? Unless all the reads and writes are in just the right order then can't this cause the limit to point into the wrong (from or to) space? God I hate threads.