Optimization code for checking if a list contains any element ID of another list
Put the values into a HashSet&lt;T&gt; (see here) as the lookup for that is constant O(1).

var sessionsWithErrorSet = new HashSet&lt;int&gt;(
    SessionsFilteredByDate.Where(i =&gt; i.TrackerId &gt; 0 &amp;&amp; i.StatusId == 0).Select(i =&gt; i.SessionId));

var sessionsWithErrorFixedSet = new HashSet&lt;int&gt;(
    BusinessClient.Instance.Tracker.GetAllTrackerAttempts().Select(i =&gt; i.SessionId));

var sessionsWithErrorIntersection = sessionsWithError.IntersectWith(sessionsWithErrorFixed);
var sessionsWithErrorsNotFixed = sessionsWithError.ExceptWith(sessionsWithErrorIntersection);