Sure, you can use heap objects whenever you want, but you can't escape from the fact that when you do, you'll also be introducing potential bugs in your code, beucase those objects must be freed, whether you like it or not.
So in essence, if you avoid heap objects, you don't need to free. Simple as that.
It's a good way to avoid leaks, but it's up to everyone to or not to follow the rule.