It’s not necessary to hold references to your modules in your shell project. The
MefBootstrapper initializes the MEF catalog, and by placing the
ModuleExport attribute on the IModule in your module’s projects, the exports for these projects are included in the MEF catalog, regardless of how the module’s project was loaded.

You might find more information about this in
this section of the Modularity Chapter in the Prism MSDN documentation.

You can also check this in the Modularity QuickStarts provided with Prism v4.