У тебя например в tcmalloc, маленькие аллокации выделяются как куски памяти каких то кратных размеров, например ты хочешь 33 байта, а получишь 40/48(в зависимости от установленного для аллокатора выравнивания), то что аллокация именно 33 байта нигде аллокатором не записывается.
У тебя допустим объект sizeof == 1 и при этом нетривиальные деструктор и конструктор
Как именно ты вызовешь потом 33 нетривиальных деструктора