There's a problem with the highly upvoted post. The Random class most certainly generates predictable numbers. From the documentation for the Random(Int32) constructor:
Providing an identical seed value to different Random objects causes each instance to produce identical sequences of random numbers.
What Microsoft does not want to promise is that this sequence will be identical in another .NET Framework release. There's a good reason for that, they cannot be sure if the algorithm they used is completely free of flaws. The kind that makes code that uses the Random class vulnerable or liable to generate biased results. Odds are very low but not zero.
There is precedent for this, the most infamous case was a problem with the random generator that IBM used in their mainframe software, called RANDU. Quoted as "Widely considered to be one of the most ill-conceived random number generators ever designed". It has pretty obvious flaws once analysts started to take a better look at it. First flagged in 1963, it was still widely used in the 1970s.