kasperd estava certo sobre strace não mostrar todos os threads do processo (de alguma forma eu tinha certeza que anexar ao processo iria monitorar todos os threads). Então auditd confirmou que é meu aplicativo fechando o socket (porque algum misterioso "signal 33" acontece e recv () não manipula corretamente o EINTR. Vou fazer outra pergunta sobre isso) .