But you pay for it on the back side when it comes time to, heh, collect. There was a paper which suggested it takes five times as much RAM for a GC'd program to equal the coorespondng manual-allocator program in terms of performance: Hertz and Berger's "Quantifying the Performance of Garbage Collection vs. Explicit Memory Management".
If you care about performance you will avoid the garbage collector like the plague. Best to write it in C, C++, etc.
But you don't actually save that much CPU and it's certainly not worth having to spend five times your working-set size just to equal explicitly-managed memory in performance terms.
Seriously, if you want cheap allocations use a freaking allocation pool. They're not that hard to implement in C++.
If you care about performance you will avoid the garbage collector like the plague. Best to write it in C, C++, etc.