If you build a big project or a project with many dlls it would be a good idea to combine them. Each dll under Windows Mobile 5 uses 64K reguardless of size. If you use two 10K dlls, they take up 128K of space. WM5 is notorious for running out of memory and this is the main reason that you run out of VM. When you have other process all doing the same thing you run out of VM very quickly. I work in the PPC world and many developers create a solution by combining multiple executiables. This is, in many cases is better then creating one application with alot of dlls. When you spawn a new application to do some additional work, it starts in it is own process space. The trick then is having them communicate and there are several tricks that can be use such as shared registry keys or INI files. The problem with VM in Pocket PC will not be totally solved until PPC version 7, which is still rather undefined.