Question: Is there any reason for a program to leak when compiled in Debug mode and not in release?

(Debug means debug informations, and compiler optimization disabled, Release means no debug info / full optimization)

That's what it seems to do but I can't figure out why. Btw purify is not being helpful here

Answer: 
Here is another one, assert() calls with sideeffects, this might result in bigger problems 

```
assert (new Object());

```

might cause this behaviour, if assert gets optimized out in release mode
Give a try to [User Mode Dump Heap](http://support.microsoft.com/kb/268343) which comes with [Debugging Tools for Windows](http://www.microsoft.com/whdc/Devtools/Debugging/default.mspx), also take a look at what [Application Verifier](http://www.microsoft.com/downloads/details.aspx?familyid=c4a25ab9-649d-4a1b-b4a7-c9d8b095df18&displaylang=en) might have to say. All of those tools are extremely powerful, highly recommend.

Otherwise, unless you have leaking code, which is `#ifdef`-ed, I see no reason for Debug build to leak, while Release is fine.