Our production application which works with .NET 3.5 installed no longer works after installing .NET 3.5 SP1. It throws a type load exception. I have distilled the problem to its essence and the result is in the steps to reproduce. This (legal) C# code compiles correctly, but the resulting assembly will no longer pass PEVerify once SP1 is installed. My suspicion, based on seeing what works and what doesn't, is that the problem is related to generic type unification.
I would like to emphasize again that this is not a theoretical exercise. This is a distillation of our production application which runs fine prior to installing .NET 3.5 SP1. We cannot install SP1 on our users' machines until this is resolved.