title: Linq.Max InvalidOperationException (no elements in result)
body: <p>I have a code:</p>
  
  <pre><code>var fullist =  Enumerable.Where&lt;CooldownRecord&gt;(GetCooldowns(petskills), s =&gt; (spellId.Contains((uint)s.SpellId) || (SharedIds.Contains((uint)s.SharedId) &amp;&amp; s.SharedId != 0)) &amp;&amp; s.TimeLeft &gt; 0);
  if(fullist.Count() == 0) return 0;
  return fullist.Max(s =&gt; s.TimeLeft);
  </code></pre>
  
  <p>Most of the time it works. But sometimes it throws InvalidOperationException on fullist.Max. What am I doing wrong here? How can the fullist be empty if there is a check if(fullist.Count() == 0) return 0; ?</p>