If you submit multiple requests in rapid succession using the same instance of RData object, you will receive only one response for the last request sent. The 9 requests submitted prior to the last one will be canceled. To send 10 requests you either need to create 10 instances of RData object or you need to serialize the requests by creating an artificial loop between the requesting procedure and the callback for OnUpdate event and effectively waiting for the response to the previous request before sending the next one.
I'm no sure why a wrapper will help... I'm sending 10 requests and not waiting for the responses. At some point Invoke function starts to receive the data. Is there a guarantee that responses will come in the same orders as the requests are sent?