During message passing the kernel pretty much stops the world, so if the message is large the pause gets noticeable. Ideally the kernel would somehow split the message into smaller chunks, and let the world spin in between transfers.