struct SomeStruct { public int Num { get; set; } } class Program { static Action action; static void Foo() { SomeStruct someStruct = new So
It won't be copied, it creates a closure. Basically it'll encapsulate the structure in one object instead of creating it on the stack.
If you want to be sure you can always use reflector, but there is no need for that, the behavior is explained on Raymond Chen blog.