There's some good replies here. When I write high performance code, I use a mix of manual and GC allocation. Stuff that's critical for performance or recycling memory, I use manual. For not critical stuff, like setup and configuration code, I use the GC because it's so much more convenient.