Hi, the above answer is correct about having symmetric network configuration.
I was also confused about this when i implemented my first active/active configuration.
Let's assume that the client (read : the device that initiate the traffic) is on vlan A and the network gateway is Float IP A on TG1 handled by device A.
And the client will trying to access VS on vlan B on TG2 handled by device B.
If you configure snat, the traffic will be send to device A, device A will snat the packet and then send the traffic to device B, the device B will send the response back to device A, and device A will forward the response back to the client.
If you didn't configure snat, the traffic from client will be sent to Device A, and then device A will send the traffic to device B, and device B will send the response by itself to the client.
You can see that the traffic was not symmetric.
This problem will not happened if you had active/standby configuration because basically there was only one device that handled the traffic.
There are many ways to solve this problem, you already had one.
Mine is creating routing on the client so every traffic to VS that handled by different TG will be forwarded to respective device that handled the TG.
Because the TG itself can move from one device to another device, you must create Floating IP for each TG on each VLAN, and routing those traffic to those Float IP.
So you will create Float IP A1 (IP on VLAN A handled by TG1), Float IP A2 (IP on VLAN A handled by TG2), Float IP B1 (IP on VLAN B handled by TG1), Float IP B2 (IP on VLAN B handled by TG2).
On the client that reside on VLAN A, you will create routing that every traffic to VLAN B will be sent to Float IP A2 (handled by TG2).
On the client that reside on VLAN B, you will create routing that every traffic to VLAN A will be sent to Float IP B1 (handled by TG1).
I hope i'm not confusing you with my answer.
Already got headache ? well, welcome to the active/active club.
Imagine if you had 4 VLAN like me (1 VLAN public facing (TG1), and 1 VLAN internal facing (TG2) and 2 other VLAN (TG3 and TG4) behind F5, each servers behind TG3 and TG4 will talk with each other using VS that handled by TG2.
I admitted that i had bad network design, but this was because i didn't know how active/active work, i'm already planning to redesign my network.