Gardez à l'esprit que lorsque vous allouez un bloc de mémoire à l'aide de new (ou de malloc d'ailleurs), le bloc de mémoire réellement alloué sera plus grand que ce que vous avez demandé. Le bloc de mémoire contiendra également des informations comptables afin que, lorsque vous libérez le bloc, il puisse facilement être remis dans le pool libre et éventuellement être fusionné avec des blocs libres adjacents.
Lorsque vous essayez de libérer de la mémoire que vous n'avez pas reçue du nouveau, ces informations comptables ne seront pas présentes mais le système agira comme si elles l'étaient et les résultats seront imprévisibles (généralement mauvais).