I'd argue that a Dyno isn't nearly as resource intensive. If 4 Dynos == 1024MB slice, then each Dyno would be using 256MB. Ruby app servers don't need that much RAM each and with a 1024MB slice you could fit a good deal more than 4 Dynos in it.
In fact, the Phusion Passenger documentation says that they recommend 30 app servers within 2GB of RAM. They do say that if you're running lots of other things like MySQL on a 256MB VPS, you probably want to limit yourself to two app servers. Still, it scales up much nicer. For $70/mo you could easily fit 10 app servers with your database on the same box - something that would cost several hundred dollars with Heroku.
That said, Heroku's selling point won't be cost. Heroku makes deployment exceedingly simple. You don't have to worry about installing anything, configuring anything, making sure things stay up, etc. And that has value - especially if you aren't a *nix gearhead. It's more than a slight premium, but it can still be worth it given that it gives you a worry-free environment.
In fact, the Phusion Passenger documentation says that they recommend 30 app servers within 2GB of RAM. They do say that if you're running lots of other things like MySQL on a 256MB VPS, you probably want to limit yourself to two app servers. Still, it scales up much nicer. For $70/mo you could easily fit 10 app servers with your database on the same box - something that would cost several hundred dollars with Heroku.
That said, Heroku's selling point won't be cost. Heroku makes deployment exceedingly simple. You don't have to worry about installing anything, configuring anything, making sure things stay up, etc. And that has value - especially if you aren't a *nix gearhead. It's more than a slight premium, but it can still be worth it given that it gives you a worry-free environment.