On the free tier I pay $0 per month. I get a single dyno (which has poor performance), and a postgres DB with 10k row limit. I end up getting a few users per day, but my app doesn't perform well so it never takes off. Heroku gave me a bunch of stuff for free and never made any money off of it.
Let's say they offered a paid tier at $5 per month that gave me one persistent dyno and a 100MB postgres DB. The usage of my app is not drastically different, but Heroku is taking in $5 per month. If my app takes off I start cranking up the dynos and DB specs. They make more money. I stay happy.
Under the hypothetical scenario Heroku could be making $60/year off of me, with the possibility of future sales.
Under their current pricing model the cost goes from $0 per month to $44/month (2 dynos @ $35 and a 10M row postgres DB @ $9). I'm not going to pay $44/month for each app that I want to run just for the convenience of being on their platform.
I think they are making a huge mis-step by not looking at price points between $0 and $44. There are only so many RapGenius level clients in the world. They can make a lot of money by reeling in the long tail, but so far it seems like all they care about are the big fish.
The free tier gives you an opportunity to try out the platform very quickly for free and perhaps host an early web only scaffold of a pre-launch app. It's not meant to host any app in production (except maybe an internal copy of Hubot).
Any app with meaningful functionality is going to at least need 1 web dyno ($36 a month) and a background worker, plus a database (Crane @ $50) and likely some add-ons such as SendGrid/Redis.
Heroku is not trying to compete with Amazon EC2 -- it's built on top of it. The real value of Heroku's platform is that it greatly reduces operational overhead spend for businesses hosting their apps on the platform. Rather than paying consultants or dedicated ops personnel, your business can pay a premium for the PaaS and keep the dollars focused on value creating development activities.
Heroku's target market is also not bootstrapped tech start-ups allergic to spending <= $100 a month. These projects have a huge failure rate and very low expected lifetime value. You would be a fool to try and target this market -- it's tiny and unprofitable.
If you take a broader view of the world, there are tons of businesses with technology needs that already have profitable business models and steady growth but are not technology companies themselves. This is the huge market that Heroku is truly addressing. They know that these businesses turn to consultants or hire developers and empower them to drive the technology decisions. That's why developer mind-share is so valuable to Heroku -- it's not that they want you to host your next bootstrapped startup weekend side project on the platform, but instead they need Heroku to be top of mind when somebody with profitable technology needs hires you.
I would bet that applications starting on the free tier and seeing organic growth is a very tiny sliver of Heroku's revenue. Most applications are built from business needs, not ideas. These businesses are not scared to spend when it solves their problems or grows revenue. $100, $1000, or even $10k a month is nothing when you find yourself in such a position.