With great care is right :) But seriously, work stealing is a huge undertaking in this model, and may not be feasible at all as far as I can tell. Every private heap object accessed by a thread has to be copied either to the shared heap or to the stealer's heap. This is the downside of not having one shared heap for everything. Of course there are huge upsides as well, but I don't see how work stealing could work efficiently. The only exception would be for a thread that hasn't started running at all, or has allocated very little.