Is there a possibility that all those messages were received at the very short time period or were they accumulated over longer period of time?
One possible fix that came to my mind is using {message_queue_data, off_heap}
for the udp_server
if it has to receive a very large amount of messages in short periods of time. There is a forum thread about it you may find helpful: {message_queue_data, off_heap} use case .