Random numbers generated using System.Random depends on the seed value you pass while creating the object.
So if you are creating 2 random object which you want to act differently you can pass the seed value different and you will see the output.
Other than that, the Default constructor of random calls
GetTickCount API call which returns the number of milliseconds passed after the system starts up.
So if you create two objects in succession, it might be created on same millisecond interval, and hence will give you the same output.
I hope this clears you totally.