Improve the DelayedDestruction smart pointer