Hello,
generally speaking Joplin creates a .md file for everything, revisions (and I mean for each modification to any note), images inserted, attached files ... everything.
The trick is that the remote is never cleaned up (at least for me I'm using Nextcloud). Thus for instance even if the DB has been cleaned up of the old revisions after a while, the .md files corresponding to these old revisions remain on the remote (even though they aren't linked to anything in DB anymore).
This used to piss me off as there was no correlation between the number of files in the remote and the sync information in the app.
Long story short I created a bash script to check what's known to DB and remove everything on the remote of which there is no trace anymore in DB. This way DB and remote are in sync and I don't have anymore a crazy number of useless files on the remote.
I discussed this here : Orphaned revisions (at the end of the conversation)
But just be aware that the crazy number of files on the remote is, as far as I know, normal. Joplin works this way. And basically you don't really have to worry about it, you can certainly let it be as it is.
Cheers