Firstly, what can inflate the xap size is the dll and any native resources you imported (large images, etc.). Therefore, if you have a relatively homogeneous site based on the same appearance / templates, adding new pages will not significantly increase the overall size, since the necessary components are already in xap, and the additions will consist mainly of text.
Of course, if new pages have functionality / use of controls or components that require additional DLLs, this will weigh it, but when you talk about one application that can grow to hundreds of pages, I assume that they will be somewhat consistent.
In addition, Silverlight can download content as needed. If you can separate content and / or content descriptors / assets with code, you should see if it can be stored in a database or other repository and retrieved only if necessary.
You can also load other xaps dynamically at run time, allowing you to first load the light load xap, and then bring others on demand, and thereby distribute the load time based on what the user needs during the "session".
d7samurai
source share