This is inherited code that sometimes fails but I can not figure out why.
using(NetworkStream stream = client.GetStream()) {
    BinaryFormatter formatter = new BinaryFormatter();
    formatter.Serialize(stream, message_);
    if(responseHandler_ != null) {
        Message response = (Message) formatter.Deserialize(stream); // <-- fails here
        responseHandler_(response, stream);   
    }
}
I have googled it to death. I have tried seeking suggestions but NetworkStream can not seek.
Edit: It doesn't always fail. Only on occasion. Any help greatly appreciated.
 
     
    