Fold it deleteinto what it actually does, and see relatively clearly when the memory is deleted. So, an expression like this:
delete some_ptr;
It is roughly equivalent to this pseudo code:
some_ptr->~some_ptr();
free( some_ptr );
, . , , delete, . , .
, . delete .
, free operator delete(), , . .