This is pretty obscure, but I think it is an optimization. This has something to do with how generic funds are implemented. The machine code for the generic class method is generated at runtime by the JIT compiler. He must make several specific versions. There is one for any reference type. And one for each argument of the type of value that is used in the program.
, , . , Ngen-ed. JIT Ngen.
, (, , ), . do-nothing, . , Ngen.exe . , Ngen, JIT .
, , System.Collections.ObjectModel.ReadOnlyCollection, , , . , , , , , Reference Source.pdbs.
100%, . .