A: 

It seems like your server is sending the image over and over again:

while (client.Connected)
{
    NetworkStream nStream = client.GetStream();
    nStream.Write(bStream, 0, bStream.Length);
}

If the server can send data fast enough, the client will probably keep receiving it.

deltreme
How can i solve it?
Phsika
By only sending the image data once, instead of inside a while loop. Change the "while" into an "if", for instance.
deltreme
A: 

This part looks funky to me:

  byte[] bytes = new byte[client.ReceiveBufferSize]; 
  int i; 
  if (nNetStream.CanRead) 
  { 
    nNetStream.Read(bytes, 0, bytes.Length);   

    Image returnImage = Image.FromStream(nNetStream); //exception occurs here 

First you read client.ReceiveBufferSize bytes into the "bytes" array, and then you proceed to construct the image from what's left on the stream. What about the bytes you just read into "bytes"?

500 - Internal Server Error