When you're running 4 dynos with 3 unicorn worker processes each you're using 12 connections there for a start. It sounds like you are using a DB plan that restricts the number of connections.
Heroku have a very good article on concurrency and how database connections work at - https://devcenter.heroku.com/articles/concurrency-and-database-connections which is worth reading.