Robert
I notice from the screenshots that the health monitor for the pool is "tcp". This is only ensuring basic tcp connectivity to the pool member (the three way handshake mentioned previously). I would probably want to monitor both the port and protocol being used. So in this case I'd create a custom monitor based on the default http profile and call it http81, for example. If you then associate this with the pool it will give a better indication of the f5's connection to the pool members using http on port 81.
As for whether persistence is an issue. It doesn't look like you've got persistence set anyway, again from your screenshots. One example of persistence is that within a certain time period (configurable) a client IP will be sent to the same pool member as before.
As for the traffic being one way it does look like the f5 is attempting connection but not getting any response back. We know routing's working cos the tcp monitor is up (and you've got another VS with Port 80 working). Shot in the dark but is the VLAN setting the same on this VS as the port 80 one? Could you try changing the VLAN and Tunnel Traffic to All Vlans, rather than DMZ2_VS-SNAT?
Have you tried running curl on the f5? Could help. Cmd is:
curl -v http://pool_member_ip:81
N