IS it me or does .NET concatinate strings when you are sending data to the client?

For example in this, I would expect it to send data 1 bit at a time, not an entire string full:

Code:
byte[] msg = new byte[64];
foreach(string s in this.lstAudioFile.Items)
{
   msg = System.Text.Encoding.ASCII.GetBytes(s);
   this.SendMessageToClient(msg);
}

private void SendMessageToClient(byte[] byteData)
{
   if (this.client.Connected)
   {
      this.client.Send(byteData, 0, byteData.Length, SocketFlags.None);
   }
}
the client recieves the data in 1 big long string. however if i send data to the server it sends it perfectly. (That is using a network stream to write the data to and flushing it)