I'm not sure how the WPS allocates the memory, whether as icons are opened or all at once. Hopefully as icons are opened and it is released when the icons are closed.
About the memory, or at least my imperfect understanding. On OS/2 systems before 4.5 (earlier with Warp Server), processes only get 512 MBs of shared address space, minus whatever DLLs are loaded and memory they use. eg Right now on a freshly booted system with SeaMonkey running, I seem to have 230 MBs of free lower shared memory. Making it even more complex is that the memory can be fragmented, program requests a bunch of 10MB chunks and then frees up every second one leaving a bunch of 10MB holes. Another program wants to allocate a 20MB chunk and fails even though there is lots of free memory.
Latest versions of OS/2 ca also use high memory if compiled to. So things like Mozilla mostly allocate high memory. Unluckily some of the OS/2 API (old 16 bit stuff) can only access low memory so a big memory hog like Firefox mostly uses high memory and even the DLLs themselves can be loaded high but still needs some low memory and when high memory gets full/fragmented falls back on low memory.
And understand we're talking virtual memory, not physical memory.
My description above might not be quite right but that is the general idea, namely that low memory is a scarce resource on OS/2.