In what you have observed, there was no such thing as "metadata classes". (Such concept does exist, but this is not what you have been looking at.) You faced completely different thing: you tried to see the declaration of .NET types without having the source code. The source code is simply not available. It was compiled somewhere, and you got only the PE files (class libraries, applications, whatever you got from the 3rd party). Even if the source code exists somewhere on your computer, it is not included in your solution and is not accessible to you. What you see is the code generated from the metadata which is always present in the .NET assembles. Such metadata is one of the central concepts of .NET and CLR.
For understanding of .NET metadata, please see:
http://msdn.microsoft.com/en-us/library/xcd8txaw%28v=vs.110%29.aspx[
^],
http://msdn.microsoft.com/en-us/library/8dkk3ek4%28v=vs.110%29.aspx[
^].
—SA