Using Memory Efficiently When You Build Large Projects
Large projects often contain many sub-projects and other dependencies, and these may consume lots of system memory at build time. When available system memory is decreased, system performance may also be decreased. Older versions of MSBuild projects remained in memory or, in version 3.5 the projects were removed, but it retained build results in a cache for later retrieval.
Version 4.0 handles this memory management automatically, saving projects from having to use properties such as UnloadProjectsOnCompletion and UseResultsCache.