Eu acho que você não pode evitar essa falha, se você não alterar o sistema operacional ou o computador (relacionado à memória) no qual você executou seu programa (mdworker).
Na prática, a memória alocável é igual a RAM+(SWAP SPACE) , mas acho que seu programa, mdworker, ultrapassou a limitação (RAM+SWAP SPACE) .
Você alocou dados muito grandes (matriz, etc ...)?