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.
Of course it’s well within Heroku’s domain to structure their services however they choose. The tragedy is that if everyone uses the platform’s free tier to maximum utility in a self beneficial way, it exhausts the resources available and the common utility ceases to exist. So it’s not ethically wrong as was my response to the GGP. But it’s functionally “wrong” because it exhausts the common resource.
This is clearly not "working at intended" though and I'd like to believe everyone knows that, including the people building this system.