原因が特定できました
 A データ1(仮に1234567890)
 B データ2(仮にABCDEFG)

ヘッダ情報にあるサイズ以上受信した場合
 (>>789で言う所の戻り値がdata.lengthになり欲しいデータの後ろに不必要なデータが入っていた部分)
1回目の受信でAの後ろにBの前半も一緒に受信され(1234567890ABC)
2回目の受信でBの後半が受信されていました(DEFG)

お騒がせしました