My iPhone storage used to be almost completely full. I still used iNaturalist through it by logging out in between observations so it would clear the cache. I don’t have to do it that frequently anymore but it will clear the cache every time, so it should take up much much less than 20GB.
I have version 3.1.1 and it uses 2GB while i hardly use it. I thought it got a bit better but it was not finally solved. Most effort went tot the Android. Probably people who do not use uploading it was solved. (I use the app for 99% for uploading observations and 1 percent for checking journals (Meer/More->Projecten/Projects->Geregistreerd-> and than journals did not load but at the moment the projects do not load at all)
Starting with version 3.1 (see Version History here), the iOS app was supposed to start reducing the amount of storage it took up. However, this only happens when the app is put into the background or standby - not if you close the app. By closing the app, I mean what’s shown in the beginning of this video (the video also explains why you probably shouldn’t be closing apps on you iPhone).
If you habitually close the iNaturalist app rather than put it in the background, then it has no chance to start clearing all that unneeded stuff taking up storage space.
Or, of course, there could be a bug in the app that’s causing it to not clear that storage, but we’d need to rule the possiblity that people experiencing this are in fact closing the app and not letting it do its work in the background. Unfortunately since I’m constantly logging in and out of the app and testing various beta versions it’s not something I can test easily.