public void CleanupContent() { var toRemove = Contents .Except(AllAvailableContent .Concat(Collections) .Distinct() .SelectMany(x => x.GetRelatedContent()) .Select(x => x.Content).Distinct()) .ToList(); Contents.RemoveAll(toRemove); }