Из FAQ по c++: http://www.parashift.com/c++-faq-lite/dtors.html#faq-11.9
Помните: delete p делает две вещи: вызывает деструктор и деаллоцирует память.
Если delete деаллоцирует память, то зачем здесь деструктор?