In reply to @leorize "are you sure?": From what I can tell, the race is when they check if they are the respective last reference. That should always work out fine. should. Naturally because of how compilers may fuck with ordering I can't guarantee anything. Damnit, this wouldn't be a problem if the counters were simply Atomics