Como todas as respostas cobriram a maioria dos aspectos de sua pergunta sobre sistemas operacionais modernos, mas historicamente, há um que vale a pena mencionar se você já programou no mundo DOS. Os programas Terminant and Stay Resident (TSR) normalmente devolveriam o controle ao sistema, mas residiriam na memória que poderia ser revivida por uma interrupção de software / hardware. Era normal ver mensagens como "sem memória! Tente descarregar alguns de seus TSRs" ao trabalhar nesses sistemas operacionais.
Então, tecnicamente, o programa termina , mas como ele ainda reside na memória, qualquer vazamento de memória não seria liberado a menos que você descarregue o programa.
Portanto, você pode considerar que este é outro caso além dos sistemas operacionais que não estão reivindicando memória, seja porque há bugs ou porque o sistema operacional integrado foi projetado para isso.
Lembro-me de mais um exemplo. O Customer Information Control System (CICS), um servidor de transações que é executado principalmente em mainframes IBM, é pseudo-conversacional. Quando executado, ele processa os dados inseridos pelo usuário, gera outro conjunto de dados para o usuário, transfere para o nó terminal do usuário e finaliza. Ao ativar a chave de atenção, ela se reativa novamente para processar outro conjunto de dados. Devido à maneira como ele se comporta, tecnicamente novamente, o SO não recuperará memória dos Programas CICS encerrados, a menos que você recicle o servidor de transações CICS.