If you have a lot of applications open one thing you might notice is that Windows — even XP — will reach a point where no more windows can be opened. For me, IE hits this point after about 40-50 windows. Depending on what else you have running, you may be able to open more or less.
Usually this is not a problem, but if you find yourself running into this limit the workaround is to increase the Desktop Heap. To do this, edit the following key in the registry:
Windows=”%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16″
and change 3072 to a larger value such as 4096. Always use caution when editing your registry; standard disclaimers apply.
For more information see: http://support.microsoft.com/default.aspx?scid=kb;EN-US;184802
Note: 64-bit versions of Windows have a much larger default desktop heap limit, and you should not hit this issue.
EDIT: The new NT Debugging blog has a post that talks in greater deal about Desktop Heap and how to troubleshoot issues: http://blogs.msdn.com/ntdebugging/archive/2007/01/04/desktop-heap-overview.aspx