0
ReferenceEquals is like a pointer comparison, it checks if 2 pointers point to the same thing. Since variable1 is null it points to null, so you get true.
When calling theStruct.Variable1.Equals, you're calling a method on null object. You can't call a method on variable1 because it's null.