We do flush the cache on postmeta update (variations). Probably something else is happening – another plugin not firing the hook or something else. With a bit more details we could look into it further 🙂
The websites has two languages and uses WPML. The variations can be updated only in the main language. If you then check the product (on the public site) using the secondary language you don’t see the update on the variations. Unless you purge the cache.
There are also the following plugins:
– WooCommerce Multilingual
– WPML Multilingual CMS
– WPML String Translation
– WPML Translation Management
– Variation Swatches for WooCommerce
I will reply the same as in your other post, the plugin and the NGINX reverse proxy in particular follows the regular cache control headers. If any of your plugins is throwing no cache headers it will not work. The same happens with multilanguage support, we cache URLs and clear that cache when the proper request is sent. If you switch languages on the same url that has to be done with ajax for example. WPML is paid plugin and I would recommend that you contact their support for assistance because generally, it works fine with the SG Optimizer.