+3  A: 
il.Emit(OpCodes.Ldarg_0); // <-- problem here

Since your dynamic method doesn't have parameters in the New<T> version, you can't use Ldarg_0. Also, Newobj will expect zero arguments, so your stack is unbalanced.

Anton Tykhyy
Fixed. Thank you. I figured it was something simple I was missing.
Todd Schroeder