Sejtem, mi a nézeteltérés közöttünk. Vélhetően te mindig operációs rendszer fölött írtál alkalmazást, ami valamikor befejezi a működését, átadja lelkét a Teremtőnek, majd a process meghal, az oprendszer meg megy tovább.
Én viszont sokszor mikrokontroller firmware-ét írom C-ben, ahol a main()-ből nem térünk vissza, mert nincs hova. Ha kilépnénk, hova kerülne a vezérlés? Tudniillik a main() hívása után nincs semmi, ott memória szemét van, tehát csak fejreállás lehet belőle. Igazából a main() hívásának ebben az esetben nem is kellene call-nak lennie, mert semmi szükség a visszatérési címre, teljesen jó lenne ott egy jmp is. Tehát még billentyűnyomás, vagy bármilyen esemény sem léptetheti ki.