Alessandri, puedes usar algo como esto que es para result de bases de datos.
 Código:
While res.Available
    stxReg.Clear
    For int = 0 To stxFields.Max
      stxReg.Add(res[stxFields[int]])
    Next
    stxOut.Add(stxReg.Join(ctn["Separator"]))
    res.MoveNext
  Wend
O algo directo de gv como esto.
Código:
For c = 0 to gv.columns.max
   s.clear
    For r = 0 To gv.rows.Max
      s.add(gv[r,c].text) ' aquí podría mejorarse para el caso de texto o número.
    Next
    o.add(s.join(";"))
Next
File.save("ruta/archivo.csv", o.join("/n"))
Esto último usa dos matrices de texto y sirve para cualquier grid view.
Tal vez sea necesario hacer algúna mejora en el caso que manejes datos numéricos y de texto en el mismo conjunto.
Para ello basta con modificar el texto entre comillas simples.
Saludos.