When you override Equals(), you also need to override GetHashCode(). Equals compares based on FullName, so HashCode is also generated from FullName.