No soy un usuario de OSX, pero podría ser el sistema operativo el que está configurado para eliminar las conexiones TCP que superan los 120 segundos. ¿Ha intentado configurar la opción tcp-keepalive en algún valor (como 30 segundos) para verificar si la conexión aún muere?