...unless you go the Windows way. Namely, you allocate lots of memory
What services do they offer?
and VM to track all the resources a task allocates so you can free them later.
Nothing wrong with that. What's the other alternative?
Which ones are you referring to i.e. Win16 or Win32? Windows NT's kernel is based (I should say “assimilated”) on DEC’s VMS kernel.
In default settings (NT powered Windows only), all 16bit applications are run in the same memory-space (sounds familiar?). If one of these applications crashes badly, it can happen that it's the end of all other 16bit applications also (32bit applications should still run Ok since they are allocated in a separated memory spaces).
But this mode can set to "separate memory space for every 16bit programs". This mode requires more memory.
Linux/Wine/WineX requires comparable memory requirements since Win32 offer plenty of APIs (for desktop use).