Some modules keep also the old data till next reload (dispatcher ?!?), I thought is the case also here.
Then the solution could be to have a list of old hash tables that are destroyed on timer, after some configurable delay. Practically, instead of destroying immediately, add it to the list with a timestamp, and destroy after N secs with a timer callback.