A scoop system terminates when the gc has flagged every processor as redundant. A processor is marked as redundant when it can no longer be reached by any other processor, or when the only processors that can access it are also redundant. The root processor waits for all launched threads to exit before exiting itself. When all processors are marked as idle then a full collection will take place to determine which processors can be flagged as redundant, obviously any prior logged calls will cancel the redundancy.