...
DCL54-CPP-EX1: A placement deallocation function may be elided for a corresponding placement allocation function, but only if the object placement allocation and object construction are guaranteed to be noexcept(true). Because placement deallocation functions are automatically invoked when the object initialization terminates by throwing an exception, it is safe to elide the placement deallocation function when exceptions cannot be thrown. For instance, some vendors implement compiler flags disabling exception support (such as -fno-cxx-exceptions in Clang and /EHs-c- in Microsoft Visual Studio), which has implementation-defined behavior when an exception is thrown but generally results in program termination similar to calling abort().
DCL54-CPP-EX2: If a user-defined allocation or deallocation function is merely a wrapper around the default such function, and the corresponding one in the pair would do nothing other than calling the default function, then it may be omitted.
Risk Assessment
Mismatched usage of new and delete could lead to a denial-of-service attack.
...