Try modifying your ToCSV() function like this:
Private Function ToCSV(ByVal dataTable As DataTable) As String
Dim sb As New StringBuilder()
If dataTable.Columns.Count <> 0 Then
For Each column As DataColumn In dataTable.Columns
sb.Append("," & column.ColumnName)
Next
sb.Remove(0, 1)
sb.Append(vbCr & vbLf)
For Each row As DataRow In dataTable.Rows
For I As Integer = 0 To dataTable.Columns.Count - 1
Dim column As DataColumn = dataTable.Columns(I)
If I <> dataTable.Columns.Count - 1 Then
sb.Append(row(column).ToString() + ","c)
Else
sb.Append(row(column).ToString())
End If
Next
sb.Append(vbCrLf)
Next
End If
Return sb.ToString()
End Function