fyi @keston (and others)
we did manage to pass-through the problem and avoid memory stacking at runtime :
- put substances in assetbundles (so it can be reloaded later on)
- load assetbundles wisth substances
- render textures with randomseed
- CopyTextures
- once a substance archive is no longer used, call
Substance.Game.Substance.Unload(graph.substance.assetpath)
to free memory , warning don't reuse any graph from taht archive anymore
- do not store any ref to the substancegraph, only keep the copied textures and materials
-if you need to regenerate textures later on :
- reload the assetbundle to restore the substance archive
-redo render+copy process
still, it would be nice to be able to reload the graph without having to reload the entire assets.
and, when loading the unity project for the first time, we still have to do it by batch of 4 or 5 substance files and closing unity in between to free memory. so a patch is still welcomed (but we are not stuck anymore

)