If you ever call delete in C++, you're doing it wrong. I have a large project where I never call new or delete even once. Whereas my Objective-C has plenty of release and retain calls.
Frankly, I'm tired of the endless C++ bashing. Yes, it's a complex language. Yes, it has bad parts that you shouldn't use. But it has strengths that make it ideal for certain high-performance applications. (And before anyone brings up C, profile qsort and std::sort and then shut up).
Use the right tool for the job, and stop being religious about language choice. If you look far enough, you'll find there's something to complain about in every language: http://twitter.com/#!/ID_AA_Carmack/status/28939697453