О кнопке “закрыть окно” и немного о ОС вообще.

Ее не должно быть.
Точнее, она должна присутствовать в расширенном меню, но никак не числиться в составе главных элементов интерфейса.
Более-менее она оправдана *у документа*, но никак не у приложения. Это лишняя сущность. Приложения должны выгружаться из памяти автоматически, примерно так, как сейчас работает виртуальная память. И загружаться тоже автоматически, когда свободная память появляется (Такая фишка присутствует в последних виндах начиная с XP, DLL Prefetch называется)
Очень многие приложения висят и ждут евентов. Или, того хуже, poll’ают. Эту проблему местами решили в Win7 (запуск сервисов по событиям от устройств и другого софта), а до этого решили в Maemo и iPhone os. Правда, я детально не изучал, поэтому сравнения приводить не буду.
Даже для “тру фоновых приложений” в духе медиаплееров можно найти части, которые можно выгрузить – например, ненужные кодеки. Но реализовано это мало где, т.к. сложно и error-prone. Это должна прозрачно и унифицированно обеспечивать ОС.
А в меню приложения должно быть не только “принудительно выгрузить”, но и “удалить” ;)