In this video Tim Heuer demonstrates how to load Silverlight applications and assemblies asynchronously.
A excellent and userful technique to improve the Silverlight experience, however I would say the code involve to support defer, dynamic loading is a bit tedious, imagine you have to do the same thing over and over again for n+ xap file but of course you can always refactor it into a reusable component.
Video: http://silverlight.net/learn/learnvideo.aspx?video=65687
A similar video by Mike Taulty using WebClient.OpenReadAsyn, AssemblyPart.Load, and Assembly.CreateInstance
Video: http://silverlight.net/learn/learnvideo.aspx?video=66679