The retrieval and storage of the feeds happens irrespective of any session, and would as discussed previously be sped up greatly by differentiating the alive-times of each feed. It would be a good idea to set debug: true in the TwigFeed config and enable Grav's debugger, as that will add timings to the debugger so you know exactly how long it takes to retrieve the data.
In the neighboring file log://twigfeeds.log you'll also find data about how long each feed took to retrieve and parse. 20+ seconds isn't horrible, but shouldn't be imposed on the user. Because of how TwigFeeds looks for new data, you could probably even run the wget or CLI even more frequently, but as said it's best if it's somewhat aligned to the caching done for each feed.
Rate-limiting is rare, but sometimes happens because of poor server- or feed-configurations that doesn't maximize efficiency with caching on the feed's sources' end.