>So, there is nothing left to be done after you activate the timer. Why is so important that the event be done before... Does it returns a value you want to use in the timer event?
The Receive() event of the socket need to be release from memory otherwise the next Receive() event might fire before the first one finish resulting in a skipped Receive() event.