Heroku can protect itself from abuse of its free tier by changing the rules - which they eventually did.
I'm sure that the only reason why they kept the free tier as long as they did was because it brought in enough users (who were eventually converted into paying customers) to be worth the cost.