So you have a single string which contains all numbers? Strange. However....
Dim orig = "012345678901234567890123456789"
Dim allNumbers As New List(Of String)
For i As Int32 = 0 To orig.Length - 1 Step 10
    Dim number As String
    If i + 10 >= orig.Length Then
        number = orig.Substring(i)
    Else
        number = orig.Substring(i, 10)
    End If
    allNumbers.Add(number)
Next
Now you can use String.Join:
Dim result = String.Join(",", allNumbers)  ' 0123456789,0123456789,0123456789
This is the most efficient approach and it is also readable. If you insist on a  LINQ approach, here it is (method syntax ugly as always in VB.NET):
Dim numGroups = orig.
    Select(Function(chr, index) New With {.Char = chr, .Index = index}).
    GroupBy(Function(x) x.Index \ 10).
    Select(Function(g) String.Concat(g.Select(Function(x) x.Char)))
Dim result = String.Join(",", numGroups)
The trick is to group by x.Index \ 10 which is integer division in VB.NET, the decimal part is truncated, so it builds groups of ten.