Неожиданное завершение процесса, запущенного через nohup?
Немного смущает строчка про OutOfMemory. Это просто для примера написано, или на самом деле такая ошибка иногда случается? Просто на линуксе, когда случается, это плохо, и чтобы хоть как-то система жила, ядро прибивает «кого попало», случайный процесс. Так что, если во фре подобная же схема — может быть по этой же причине сам шелл-скрипт убивается? В логах, наверное, OOM должен отражаться.

Но как вариант, если цель не разобраться, а просто решить проблему, лишь бы работало — можно попробовать без враппера. Просто по крону запускать простенький «чек-респаун» скрипт, который будет проверять, и если сервер лежит (по лок-файлу, открытому порту или даже тупо по ps'у) — запускать его снова. В этом случае уже скрипт не умрет по непонятной причине. Разве что умрет cron от ООМа, но если cron умрет — уже точно будете знать, что проблема не в кривом коде крона.
Есть такой вариант: github.com/visionmedia/mon