Cada vez me confundes más
porque agregas esto?
Linea = Linea & vbNewLine & ListBox1.Items(a).ToString()
Y no
Linea = ListBox1.Items(a).ToString()
Te has complicado al extremo, para escribir un archivo con un StreamWriter no necesitas (a menos que no te hayas dado cuenta) lo que haces aquí:
For a = 0 To ListBox1.Items.Count - 1
Dim _Stream As New IO.FileStream(FolderBrowserDialog1.SelectedPath & "\listado.txt", IO.FileMode.Open)
Dim _StreamWriter As New IO.StreamWriter(_Stream)
Linea = Linea & vbNewLine & ListBox1.Items(a).ToString()
_StreamWriter.Write("")
_StreamWriter.WriteLine(Linea)
_StreamWriter.Close()
Next
Creas el Stream, creas el StreamWriter, escribes y cierras una y otra vez las intrucciones están en un for se repiten tantas veces como ListBox Items tenga.
Es como si escribieras en un cuaderno y para cada palabra cierras y abres el cuaderno, no tiene sentido
Debes colocar el .Close fuera del for así como el invocar dentro de un for es de mala práctica no se debe hacer, y lo que haces con el segundo StreamWriter lo puede hacer con el primero antes de cerrarlo, no puedes abrir un mismo archivo con 2 StreamWriter diferentes a menos que le asignes la opción de compartir la escritura/lectura del archivo, y no puedes eliminar el archivo por que no has cerrado _Stream y no lo puedes cerrar porque lo invocastes en el espacio del for y fuera de el el Stream no existe a pesar de que el archivo sigue abierto, mira el código cierras son los Writer pero eso no cierra el archivo.