"Eu acho ... esse comportamento é apenas porque cada pedaço da transação é grande e deve ser enviado para as camadas superiores o mais rápido possível para evitar um buffer enorme e esse comportamento é usado em tempo real e interativo aplicações "
O comportamento que você descreve é determinado pelo cliente remetente (software). Um equívoco comum sobre TCP & Implementações UDP é que existe apenas uma maneira de codificar, mas há escolhas a serem feitas ao codificar ... e nem todos os programadores fazem as mesmas escolhas. Os RFCs são seus amigos.
link "Quando um aplicativo emite uma série de chamadas SEND sem definir o flag PUSH, o TCP MAY agrega os dados internamente sem enviá-los. Da mesma forma, quando uma série de segmentos é recebida sem o bit PSH, um TCP MAY enfileira os dados internamente sem passar para o aplicativo de recepção. "
O MAIO nessa frase oferece ao programador (do cliente de envio) a escolha de definir ou não o bit PSH. No caso que você descreve, o programador escolheu priorizar o envio da carga para a aplicação por meio do buffer de uma série deles para enviar a pilha de uma só vez.
Espero que ajude.