That would be one way. In fact I removed the IoC container from the app in question, directly instantiating all dependencies, and it still managed to hold onto a lot of memory after a few hours. I think it's a deeper problem with the fact that SimpleInjector's container doesn't track objects it created by default, hence it cannot dispose of them; you have to use various lifestyles. I was using ExecutionContextLifestyle (which is what is recommended for async/await code) and for some reason the scopes were still kept in memory, thus everything from RavenDB sessions to other dependencies resolved during the scope would be left rotting in memory.
I'm working on replacing the container with Castle Windsor, which can do explicit dependency release (so when the controller is done with the request I can tell it to release all of its dependencies).
Thank you Oren and Chris for you input.