Realmente, a melhor solução para o assassino da OOM não é ter uma. Configure seu sistema para não usar memória supercomprometida e se recuse a usar aplicativos e bibliotecas que dependam dele. Neste dia de disco infinito, porque não fornecer troca infinita? Não há necessidade de se comprometer a trocar a menos que a memória seja usada, certo?
A resposta à sua pergunta pode ser que o assassino da OOM não funciona da maneira que você pensa. O assassino de OOM usa heurística para escolher qual processo matar, e as regras nem sempre significam que o último solicitante morre. Cf. Domar o assassino da OOM . Portanto, não é uma questão de o assassino da OOM ser "ineficaz", mas sim fazer uma escolha diferente da que você preferiria.