Ваш код просто получает одно случайное число и использует его десять раз.
Этот метод расширения может быть полезен:
type System.Random with
/// Generates an infinite sequence of random numbers within the given range.
member this.GetValues(minValue, maxValue) =
Seq.initInfinite (fun _ -> this.Next(minValue, maxValue))
Тогда вы можете использовать это так:
let r = System.Random()
let nums = r.GetValues(1, 1000) |> Seq.take 10