prevent exception thrown by deallocate from leaking dtor