The version of the .Net Compact Framework found in Windows Phone 7 is 3.7. One of the new capabilities added to the Compact Framework in this version is code sharing.
Under the 3.5 Compact Framework if there were multiple applications running that used a shared .Net assembly each process would JIT compile it's own copy of that assembly in its process space. With mobile devices often having constrained memory (and Windows Mobile devices only allowing 32 MB per process) this was an area in which improvement could be made. And with the 3.7 CF improvement was made.
In the 3.7 CF shared assemblies are managed by the kernel and their JITed code and type information is in a shared read-only heap. Overall this can lead to faster start time for applications (since some of the code the application needs may have already been JIT compiled) and lower memory demands.
For the time being this is a feature that I imagine would largely be used to host Microsoft assemblies since third party applications won't be allowed to run simultaneously.
You can find more information about these changes in this blog entry.
Tags: Windows Phone, .Net