.NET structs never have reference equality, because structs
are value types. Here is a fiddle https://dotnetfiddle.net/AvazwY
public class Program
{
public static void Main()
{
var foo = new Foo();
var bar = new Bar();
Console.WriteLine(object.ReferenceEquals(foo, foo)); // false
Console.WriteLine(object.ReferenceEquals(bar, bar)); // true
}
public struct Foo
{
}
public class Bar
{
}
}