The _discard functions now free their resources! These were waiting on thread-safe ID management, which we now have.