I have noticed that loading assemblies on demand can be annoyingly slow
All assemblies are loaded on demand. They are not loaded any other way,
unless you explicitly load them using Assembly.Load()/LoadFrom().
Assemblies referenced by a loaded assembly will not necessarily be loaded
until the code running in the referencing assembly references something in
the referenced assembly.
So, your comment leaves me scratching my head, because allowing
the framework to do what it is supposed to do, should not be annoyingly
slow, if you consider how much longer you would have to wait, if you
were to explicitly load every assembly that would otherwise be loaded
on demand.
The only issue with demand loading, is that it can occur at any time,
including during user interaction, which can result in a noticable delay
on a slower system (an example of that is AutoCAD 2009's WPF tooltips).