They already process your images to generate thumbnails so that infrastructure is already in place. Then again, I don't need those files to stick around
forever as part of the chat history, my primary use case is to show someone something. No one will come back to that file ever again.
Direct file transfers don't incur any storage costs whatsoever, it's only bandwidth. They also already have the relay servers to support WebRTC calls. They could've solved this problem for little to no additional cost if they wanted to. The problem is that they don't want to.
As for paying, Telegram has mostly the same business model (selling subscriptions but also ads in channels for free users) and allows uploading 1.5 GB files for free. With the premium subscription that is doubled to 3 GB.