Tipo anónimo en medio de confianza, funciona con Reflexión, no con Expresiones

Estoy haciendo proyecciones personalizadas en consultas de Linq en Medium Trust y obtengo unMethodAccessException oTypeAccessException quejándose de la reflexión y los derechos de seguridad.

He simplificado el código a lo siguiente:

var anon1 = new { Name = "Bill Gates" };
var ctor = anon1.GetType().GetConstructors().First();

// With native Reflection it works
var anon2 = ctor.Invoke(new object[] { "Steve Ballmer" });

var expr = Expression.New(ctor, Expression.Constant("Scott Guthrie"));
var lamb = Expression.Lambda(expr);      // This throws in Medium Trust

var anon3 = lamb.Compile().DynamicInvoke();

anon1.ToString();        // --> { Name = Bill Gates }
anon2.ToString();        // --> { Name = Steve Ballmer }
anon3.ToString();        // --> { Name = Scott Guthrie }

En plena confianza,anon2 yanon3 se creará. En Medium Trust onlyanon2 se creará

Otrosituación simila no resolvió el problema

Respuestas a la pregunta(2)

Su respuesta a la pregunta