Можно также использовать All()
All()
var notInList = list1.Where(p => list2.All(p2 => p2.Email != p.Email));