If you send a message through [udpsend] it will be packaged into a UDP packet. A UDP packet can be up to 32768 bytes. Sending lots of small packets adds a lot of overhead compared to sending the same data as one packet.
Ah, ok. Yes, I am sending each message in a separate packet (I have no choice since these are OSC messages that I send to an iPad that runs touchosc).
Anyway that applies equally to udpsend and to [netsend 1], doesn't it? So it still doesn't explain why udpsend blocks for a much longer time...