HashSetで意図した比較ができません。
どこが間違っているのでしょうか?

class CTest : IEquatable<CTest>
{
 public bool Equals(CTest other)
 {
  MessageBox.Show("call");
  return true;
 }
}

CTest test1 = new CTest();
CTest test2 = new CTest();

bool test = EqualityComparer<CTest>.Default.Equals(test1, test2); //呼ばれる
HashSet<CTest> set = new HashSet<CTest>(EqualityComparer<CTest>.Default);

set.Add(test1);
set.Add(test2); //呼ばれない