Mirrors the decode fix: encode_tiled is identical to encode for
handles_tiling VAEs, so the OOM-retry path needs to free other models'
memory the same way decode's retry path already does.
For VAEs that set handles_tiling (MiniMax H3 video, SeedVR2), the tiled
decode fallback ends up calling the exact same decode path as the
regular decode that just OOM'd, so retrying without changing anything
about available memory just fails identically. Free memory held by
other loaded models (including dynamically streamed weights) before
the retry, keeping only the VAE itself loaded, so the retry actually
has a chance to succeed.