Once you have an assembly loaded, you can use Assembly.GlobalAssemblyCache Property to determine if the assembly is loaded from GAC or not.

I am surprised that not many people know about this property.