System.IndexOutOfRangeException en vb.net cuando se usan arreglos

Bueno, he intentado completar un desafío que me exige obtener todos los múltiplos de 5 o 3 de 0 a 1000 y luego obtener la suma de ellos. Soy nuevo en vb.net, así que pensé que sería una buena opción. Desafío para que lo resuelva> Estoy bastante seguro de que tengo los conceptos básicos correctos, pero no estoy muy seguro de por qué recibo este error:.

Module Module1

    Sub Main()
        Dim Counter As Integer = 1
        Dim Numbers() As Integer
        Dim NumbersCounter As Integer = 0
        Dim Total As Integer = 0

        While (Counter <= 1000)

            If (Counter Mod 3 = 0) Then
                Numbers(NumbersCounter) = Counter '<--- The error is located on Numbers.
                NumbersCounter = NumbersCounter + 1
                Counter = Counter + 1

            ElseIf (Counter Mod 5 = 0) Then
                Numbers(NumbersCounter) = Counter
                NumbersCounter = NumbersCounter + 1
                Counter = Counter + 1

            Else
                Counter = Counter + 1
            End If

        End While

        Counter = 0

        While (Counter <= Numbers.Length)
            If (Counter = 0) Then
                Total = Numbers(Counter)
                Counter = Counter + 1
            Else
                Total = Total * Numbers(Counter)
                Counter = Counter + 1
            End If

        End While

        PrintLine(Total)

    End Sub

End Module

Cualquier ayuda o consejo sería muy apreciado! Gracias por adelantado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta