Думаю подойдет
Except:
var diff = current.Except(expected);
Это выдаст элементы из current, которых нет в expected.
Можно так же и в обе стороны, чтобы получить элементы которые не пересекаются из обоих списоков:
var diff = current.Except(expected).Union(expected.Except(current));
Если для сравнения элементов нужна какая-то особая логика, то нужно будет так же внедрить
IEqualityComparer и передавать аргументом в Except.