それはplacement newとは言わないんじゃないのか?

まあそれは置いといて、
static void operator delete[] (void* p,void* mem_p);
の時のpとmem_pの値を見てみろ。
おまえがmallocから貰ったポインタはどちらですか?