RoslynAssemblyLoader loads assembly multiple times when concurrently invoked

The call to CompileInMemory produces a new assembly for the assembly name
every time it is invoked. Consequently when it'sinvoked concurrently, we
end up with two assemblies that represent two instances of the same
source.
Should we use a single dictionary with a structure instead?