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.