生成される乱数に0が含まれないようにしたい場合は、GetNonZeroBytesメソッドを使うことができます。

RandomNumberGenerator.GetNonZeroBytesメソッドでバイト配列を非ゼロの乱数で満たす
Imports System
Imports System.Security.Cryptography

Class Sample
  Shared Sub Main()
    Using rng As RandomNumberGenerator = RandomNumberGenerator.Create()
      ' RandomNumberGeneratorを使って0を含まない、16バイトのnonce値を3個生成する
      Dim nonce(15) As Byte

      For i As Integer = 1 To 3
        rng.GetNonZeroBytes(nonce)

        Console.WriteLine(BitConverter.ToString(nonce))
      Next
    End Using
  End Sub
End Class
実行結果の一例
FE-E5-5B-48-5F-4C-8E-8A-1C-AE-58-51-A2-8C-E4-A0
2C-69-84-60-A9-67-B1-27-CD-BA-23-68-57-A0-D3-CE
01-81-99-64-30-52-67-2F-41-95-0A-A0-F8-39-A7-07