I’d argue that the smaller you are, the more sense S3 makes, since its costs scales down to zero and offer a high degree of reliability from the first file stored.
Rolling your own storage comes with at least some operational expenses, if you’re counting your data/egress in gigabytes that’s likely not worth it compared to just using S3 or similar services.
S3 is so expensive at scale that it only makes sense if you're tiny or if you have extreme durability requirements and your working set is tiny.
The durability can have value at scale, because ensuring it at scale with MinIO can be a lot work. But I often recommend to clients that they deploy a Hetzner setup as a cache, often with storage all the way up covering 100% of their data depending on access partner, because the AWS egress fees are so insanely extortionate that you never really want to read data from AWS at scale other than as an emergency option.
Rolling your own storage comes with at least some operational expenses, if you’re counting your data/egress in gigabytes that’s likely not worth it compared to just using S3 or similar services.