union member 'member' is a reference type, or a struct containing a reference type
A class, or any reference type, cannot be a member of a union.
The following sample generates CS0630:
using System; using System.Interop; [structlayout(LayoutKind.Union)] // CS0630 class MyClass2 { MyClass aa; } class MyClass { }