It's not actually intended to be random, but instead to be (relatively) unique. If you really want randomness, I recommend using something like a hash of a value from System.Random.
Here's a link to the MSDN documentation for the .NET "System.Random", as well as the same for their Hashing package.