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
It could be many things, but keep in mind it may be a false positive. In debug mode you can count on using at least twice the memory. This can make your program size expand many times, and usually once it goes up it doesn't go down again even if the memory all gets released internally. If the 'leak' doesn't get worse over time but eventually stops it's not really a leak.