I set up a personal instance using https://masto.host. It's a small operation that I believe is run by one person. Hugo has been great about responding to my questions.
My instance has only been up for about 3 days and I've exceeded my Media Storage limit twice. The first time, I upgraded to the "Planet" plan which has the added bonus of being more responsive.
This time, I've tried setting my Media Retention Period to 3 days and am hoping that's sufficient.
Do you have any other optimization tips to share? Unfortunately (but also, fortunately), it's a managed service, so I'm limited to only what is available in the Mastodon web interface.
It may help you some to block media from bot instances, such as BotsIn.space. Of course, that may be inconvenient if you or your users follow bots that post images.
You could also import one of the blocklists from Oliphant or another collection. Of course, their purpose is mainly to avoid bigotry and harassment, but depending on how many of them you're federated with, it may have a slight affect on space used as well.
Of course, none of these are even slightly as effective as deleting media server-side, but that's something the Masto.host owner would have to help you with, here.
I deactivated all relays and my media storage is settling into the 50GB range of my masto.host plan. It doesn't seem to affect the posts of the people I follow.