annaTomas, основной подход такой, но там несколько всё запутанней и не знаю насколько рекомендуется, но имеется возможность указывать специальный класс, обеспечивающий сравнения объектов IEqualityComparer
annaTomas, вопрос не очень корректный, методу Equals никто не нужен, за его логику отвечает автор можешь написать чтобы он всегда возвращал true. Можешь первоначально сравнить HashCode объектов, прежде чем приступить к сравнению всех полей, это твоё дело.
break
, но по уму, должно быть тогда ужwhile(!token.IsCancellationRequested)