From looking at the !heap documentation in the Debugging Tools for Windows help file and the heap docs on MSDN and a great excerpt from Advanced Windows Debugging, here's what I've been able to put together:
You can, however see another process's memory you do need to be in kernel mode. The API makes it easy to do from User mode. Your choice.
Kernel mode stuff and useful links I've grabbed quickly:
Try AppVerifier and GFlags together to find Page Heap corruption.
You'll likely need WinDbg as your debugger instead of Visual Studio to debug.
I also recommend this book on advanced Windows debugging for tracking down crashes such as the one you are hitting.