Quando um processo morre, sua memória é recuperada pelo sistema operacional. É marcado como livre e será alocado para outros processos, mais cedo ou mais tarde, quando outros processos precisarem de memória. A memória é sempre apagada antes de ser alocada para um processo.
Não importa que tenha havido corrupção de memória no processo. O conceito de corrupção de memória está no contexto da execução do processo - significa que o conteúdo da memória não é o que o programador pretendia. Quando o processo está morto, esse conceito não é mais significativo. O mesmo vale para um vazamento de memória: toda a memória do processo é recuperada quando sai.
A memória compartilhada é uma exceção, porque não pertence a nenhum processo único. Quando um processo sai, tudo o que é recuperado é o identificador do processo na memória compartilhada; a memória compartilhada permanece até que seja explicitamente removida. Pense em um objeto de memória compartilhada como um arquivo que vive exclusivamente na memória e não está conectado ao sistema de arquivos. É como um arquivo temporário sem nome.
Um processo que usa memória compartilhada deve limpá-lo antes de sair. De preferência, se um processo usa memória compartilhada, ele deve ser executado por um processo de supervisor, e o supervisor deve limpar recursos, como memória compartilhada e arquivos temporários, se o processo principal falhar.