Eliminate the new_child mechanism.

Causes a deadlock, couldn't figure out what it was trying to deal
with, didn't actually work like it said anyway, and spawning a thread
triggering an immediate GC run seems less than ideal.
Move corruption check to after work pass.

If the work belongs to another thread, it makes no sense to check.
Add a work pass sanity check.