I am trying some load balance with src address lists:
1 ;;; Enrutar
chain=prerouting src-address-list=clientes dst-address-list=!internas action=jump jump-target=enrutar
2 chain=enrutar src-address-list=ruta2 action=return
3 chain=enrutar src-address-list=ruta3 action=return
4 chain=enrutar nth=1,3,0 action=add-src-to-address-list address-list=ruta2 address-list-timeout=1d
5 chain=enrutar src-address-list=ruta2 action=return
6 chain=enrutar nth=1,3,1 action=add-src-to-address-list address-list=ruta3 address-list-timeout=1d
When I test it seems to work, but if i leave it some time (minutes, hours, days) it starts doing nth balancing wrong:

Rule 4 and 5 have 522 packet count, while rule 6 has only 98.
If i browse address list i find that address list ruta2 has many more addresses than ruta3. I have tried resetting counters and rebooting mt, and always first rule has more packet count than second rule (but ratio varies).
Verified on 2.9.9 and 2.9.19, with hotspot active.