If they Client is NAT'ing and appears to be coming from a single IP Address then the application of the OneConnect Profile should resolve your issue.
Without OneConnect enabled, persistence data is examined only in the first request of a Keep-Alive connection, so if multiple requests are sent on the same clientside Keep-Alive connection, LTM will persist them all to the same destination as the first unless a OneConnect profile is applied (even if logic contained in an iRule dictates otherwise).
To further translate. The OneConnect Profile will do a deeper inspection of each TCP Connection and handle them all as "different" connections in regards to persistence behavior. This should resolve your issue because each different connection is actually a different client rather than a different request from the same client.
The overview solution provides additional detail: Solution: SOL7208 - Overview of the OneConnect profile or http://support.f5.com/kb/en-us/solutions/public/7000/200/sol7208.html?sr=16914074
Pay particular attention to this area. It is the basis for my previous translation:
Content Switching
When a OneConnect profile is enabled for an HTTP virtual server, and an HTTP client sends multiple requests within a single connection, the BIG-IP system is able to process each HTTP request individually. The BIG-IP system sends the HTTP requests to different destination servers as determined by the load balancing method. Without a OneConnect profile enabled for the virtual server, the BIG-IP system performs load-balancing only once for each TCP connection.