Well it depends on what Heroku's SLA was, if any. If Heroku stated 100% uptime grantee, then Heroku would be to blame for not living up to their 100% uptime. If Heroku said hey listen, we can't guarantee any amount of uptime so be prepared and someone were to host some "mission critical" information on Heroku then yeah it would be the customers fault.