I have never seen anyone mix their custom memory manager with STL. Also, who said anything about Java or C#?
Incidentally, I asked someone about memory management in an interview for a C++ position. He said he wrote his own memory manager (object pool, basically), and never even bothered to use "new" or "delete".
Personally, I'm sticking to Haskell...
And the reason you don't use garbage collection is because real-time games can't afford a GC pause.
You also don't want your code to fail after weeks of runtime with an alloc error, if it's going to run out of memory you want it to fail at the start.