Free GPU resources over time

The short version of my question is that grooms and hdris (probably other things) aren’t unloaded from the GPU after use in the movie render queue, and I don’t know how to manually trigger their eviction from vram.

Here’s a much longer explanation about my setup and what I’ve observed:

I’m rendering a bunch of procedurally generated scenes with characters that have grooms, cloth, animations, etc. and there’s also a HDRI in the background. I have hundreds of grooms, garments, animations, hdris, etc. I have a level with a BP that randomly changes all of these things on the character and a separate one that changes the HDRIs. I’m using the movie render queue to load everything, render a sequence, then I shuffle everything and render again with a new body material, garment, hair, hdri, etc.

Using the Render Resource Viewer, I can see what is taking up space on my GPU.

When I shuffle the assets, I see that the HDRI and lots of hair related things remain on the GPU even after I’ve started a new render with the MRQ with new assets loaded. If I kick of a bunch of renders, over time I see the HDRI’s and hair stuff stacking up in the render resource viewer. Eventually, it will crash with the following error:

Out of video memory trying to allocate a rendering resource. Make sure your video card has the minimum required memory, try lowering resolution and/or closing other applications that are running. Exiting...

Here’s an example after running two of these sequences. The MRQ renders one and then it completes and returns control of the editor back to me. Then I render another set and it completes, same thing. If I search the render resource viewer for hair, I get the following:

You can see that Hair.StrandsInterpolation_InterpolationBuffer, Hair.StrandsRest_PositionBuffer(Strands), etc are all there twice.

If I run it again with a different hair, you will see that they are all now there 3 times:

This just continues over time until it crashes.

My question is if there’s a way to flush, garbage collect, or evict these resources from time to time so that they don’t just stay in my VRAM until my card can’t handle it anymore.