Um rápido google para oom killer premature
parece sugerir que existem algumas razões que o assassino da OOM pode ser invocado mesmo quando o sistema tem bastante memória / troca aparente disponível.
Uma possível explicação é a fragmentação da memória, em particular:
Normal: 2386*4kB 2580*8kB 197*16kB 6*32kB 4*64kB 0*128kB 1*256kB 1*512kB 1*1024kB 0*2048kB 0*4096kB = 35576kB
Sugere que não há muitas páginas grandes normais disponíveis.
Receio que esta não seja uma resposta completa para a sua pergunta, mas poderia indicar-lhe uma possível orientação de investigação.