heap.Delete
This change ensures that DestroyAction is executed for the value being deallocated when calling heap.Delete. Relates to #2521