Ein Prozess ist nur ein Container für Threads. Da haben wir dem Mainthread und gegebenenfalls noch selbst erstellte weitere Threads. Wird der Prozess beendet, gibt Windows auch alle zugehörigen Ressourcen frei. Man "müllt" sich seinen Speicher also nicht voll. Windows ist wie die Mutter, die hinter einem aufräumt. Man kann jetzt also philosophieren, ob man es selbst tun sollte (Was "sauber" wäre.) oder es eben Windows überlässt.
Wenn ein Benutzer ein Prozess beendet, in dem er das Hauptfenster schließt, (Von "Abschießen" per Taskmanger wollen wir nicht reden, dann ist eh alles zu spät.) kann man diskutieren, ob man im OnClose des Hauptfensters noch allen Threads Bescheid sagt, sich beim nächst möglichen Zeitpunkt zu beenden oder ob man sagt: "Ach, egal. Windows macht das schon."