Проблема, с которой вы столкнулись, заключается в том, что когда вы получаете эту ошибку, вы уже выгружены из процесса Ruby, и платформа Heroku обрабатывает эту ошибку. Здесь вам не помогут начало, спасение, конец.
С точки зрения предвидения, вы можете посмотреть на объем свободной памяти, запустив что-то вроде:
memory = `free -m`
Затем вы можете проанализировать эти результаты, чтобы получить значимое состояние памяти. Однако я не уверен, что вы можете сделать с этой информацией.
(Помните, что dyno - это просто Unix Box, и вы можете запускать произвольные системные команды с Ruby, заключая команды в обратные метки)