Mark some DLLs such as xul.dll to load code high. open and close the app, Thunderbird in this example.
use Theseus to look at the shared memory summery, there will be a zombie hole the same size as xul.dll. Repeat and more holes appear.
Here's a screenshot, after closing TB and unloading the DLLs, 2 lines below the brwscmp entry there's still 0x03A13000 allocated, which is how much TB's xul.dll allocated. repeat and eventually the shared high memory area will be exhausted. There's other holes for the same reason.
Workaround is mozturbo to keep the DLLs loaded