Threshing: Sieve of Eratosthenes
One note: You create extra work and time for the program by including all of the even numbers in the initial List creation.

You can do something similar to this to eliminate the even numbers:

var upperLimit = 9999;
List&lt;Int64&gt; primes = new List&lt;Int64&gt;();    
for (int x = 2; x &lt;= (upperLimit+1)/2; x++)
    primes.Add(2*x-1);


That should give you a much reduced list to have to run through. Other than that, it's a very nice and simple solution.