I don't quite understand this sentiment.
RAII and constructors/destructors are a big win over manually releasing resources.
Especially in error cases you can't test everything and every path, and that's where the leak will hide.
If you work towards fully using exceptions, RAII and std::unique_ptr you won't ever leak _anything_, and resources will be minimally used. What other language can claim that?
C++ used correctly is actually very productive.
Of course some C++ features are better left untouched like dynamic_cast.
Template bloat, language complexity and implicits are very rarely a problem in production use.