The limits are related to three things.
The bandwidth of your network hardware.
This includes the raw bandwidth of the wire as well as any limitations the NIC might put on things. Consider for example how fast is the CPU to card bandwidth over PCI.
If you are using a switch rather than a hub, it might also create limitations.
The general traffic on your network could also be a problem.
The speed of your CPU
The efficiency of the software, which includes application, driver and OS.
I don’t believe that there’s any other arbitrary limit to UDP.
Since you are using QNX 4, I’m going to guess that you are using a 100TX network.
100Mbits is approximately 10 Mbytes. So given all the other constraints, what you are getting is in the ballpark. The fact that it looks like only 20% efficiency is probably related to one of the constraints mentioned above. My guess is that it’s probably related to the NIC.