DestructorHook can now optionally call hooks via executor
fixed race condition by delegating global ref deletion to the executor