А как часто вы вызываете Run? Если без задержки между вызовами, то он использует один и тот же посев, что приводит к одному и тому же первому сгенерированному числу.
Создавайте рандом в вызывающем методе и передавайте его в Run, чтобы он из одного посева вызывал следующее число каждый раз
(см.
https://t.me/NetDeveloperDiary/141)