Monit age exatamente como você o instruiu.
Vamos quebrar a lógica:
Ciclo 1
Verificar o resultado: 1 falha consecutiva
Ação: nenhum
Ciclo 2
Verifique o resultado: 2 falhas consecutivas
Ação: reiniciar (a primeira condição é atendida)
Ciclo 3
Verificar o resultado: 3 falhas consecutivas
Ação: reiniciar (a primeira condição ainda é atendida, os últimos dois ciclos saíram com status = 1)
Ciclo 4
Verificar o resultado: 4 falhas consecutivas
Ação: restart AND exec / bin / true (ambas as condições primeira e segunda são atendidas)
Ciclo 5
Verificar o resultado: 5 falhas consecutivas
Ação: restart AND exec / bin / true (ambas as primeira e segunda condições ainda são atendidas)
Como seu programa sempre retorna 1, a primeira condição sempre será atendida após o resultado da verificação no segundo ciclo, uma vez que (pelo menos) os últimos 2 ciclos sempre terão falhado até você desassociar.