Why would it double memory consumption just for a metadata block? Why not just wrap the memory allocation function so it makes that block?