Wrapping raw delete calls inside conditionals.

 I'm using rapidjson with a game engine with very tightly controlled memory management, to the point where the new/delete operators inside the game loop cause assertions. Other systems that use custom allocators might also have similar situations if they're not just overriding global new/delete, so rapidjson's allocator code should only call delete if it has to.