No tomaste en cuenta los comentarios de arriba, si los objetos son creados por separado, entonces necesariamente tienes que comparar los atributos del objeto, tanto el operador = como el método Equals, por defecto sólo comparan referencias.
Código:
Person a = new Person();
Person b = new Person();
Console.WriteLine(a == b); // falso: a y b tienen referencias distintas
Saludos