De arquivos de código-fonte eu encontrei oom_kill.c , o OOM Killer, depois de tal a mensagem é gravada no log do sistema, verifica os filhos do processo identificado e avalia se é possível eliminar um deles no lugar do próprio processo.
Aqui um comentário extraído do arquivo de origem explicando isso:
/*
* If any of p's children has a different mm and is eligible for kill,
* the one with the highest oom_badness() score is sacrificed for its
* parent. This attempts to lose the minimal amount of work done while
* still freeing memory.
*/