This error is less frequent in 4.8.2, from my experience, but is still an issue occassionaly.
One approach to a temporary fix might be to setup your application pool to recycle every X number of minutes, perhaps 30-90 minutes.
My understanding of what is occuring is this: The cache starts to lose objects after a certain period of time, probably shorter on busy sites. For some reason when DNN then goes to get a list of "Tabs" for your portal, it gets it back from cache but the list is incomplete, and a failure occurs. If you recycle the app pool all is well for a while as the cache gets reloaded completely when the app starts back up.