Estou vendo o mesmo problema que você relatou. Eu não sei porque o 'programa de reinicialização' não é usado para reiniciar. No entanto, a solução alternativa que estou usando é esta:
check process unicorn
with pidfile /tmp/pids/unicorn.0.pid
start program = "/etc/init.d/unicorn start"
stop program = "/etc/init.d/unicorn stop"
if mem is greater than 250.0 MB for 2 cycles then restart
if cpu is greater than 22% for 3 cycles then alert
if cpu is greater than 25% for 2 cycles then exec "/etc/init.d/unicorn reload"
Note que deixei a verificação 'if mem' para que ela pare / inicie. Isto é porque eu presumo que a recarga provavelmente não vai ajudar se você tiver um vazamento de memória, portanto, um stop / start é provavelmente necessário. Mas ajuste como achar melhor.
Antes de pesquisar o código fonte e corrigi-lo (ou instalar uma versão mais recente e descobrir se já está corrigido), esta é provavelmente a melhor opção.