NetTcpBinding の受信メッセージの最大サイズ

既定値が 65536 バイトって、小さいと思います。
700行2列の DataTable を渡したら CommunicationException が発生する始末ですから。
まあ、今回は

binding.MaxReceivedMessageSize = 大きな値;

で対応しましたけど。

追記

よこけんさんのブログに詳しい解説がありました。