A long time ago when I was doing C++ work on Windows, there was an advanced diagnostics tool for debugging buffer overflows. It initialized all allocated memory areas, stack or heap, with a special pattern of characters so it could detect buffer overflows. It injected itself into the memory manager to do this and also so it could check all memory areas after a memory write to look for corruption. In exhaustive mode, it would do this after every memory write, not just in specific areas.
It made your program run horrendously slow of course, but it was a lifesaver for finding corrupted memory regions. Is there such a tool for Visual Studio 2013?
If found this SO post where one of the answers mentioned Application Verifier, but that's for a really old version of Visual Studio: