For sure, each task would be API calls as well across the network. In 1 and 2's this might be minimal, but at 20k scale, it can certainly add up.
How slow is it?
Do you have performance examples with / without the task decorator for time taken?
How much time would it take to re-download everything if it fails, versus, if state is cached for each download and not re-downloaded?
This might take some trial and error to determine optimal performance