Test doesn't need multiple scenarios.
The slot is read in a separate thread (the statistics logging thread),
call unregister first and add a barrier to ensure the slot is cleared
before the memory is free'd.   Technically, I think there's still a
race, but it's awfully small and this is code intended for performance
debugging, not production builds.