Quote Originally Posted by Shaggy Hiker
You could probably make the same mistake with Random if you were to create the class in a sub that is called repeatedly in a tight loop. Each instance, though created local, would be created so rapidly that the call would effectively be seeded repeatedly with the same number.
Quite true. From the help topic for the Random constructor that takes an Integer argument:
If your application requires different random number sequences, invoke this constructor repeatedly with different seed values. One way to produce a unique seed value is to make it time-dependent. For example, derive the seed value from the system clock.

However, if your application runs on a fast computer the system clock might not have time to change between invocations of this constructor; the seed value might be the same for different instances of Random. In that case, apply an algorithm to differentiate the seed value in each invocation.