Our current implementation of Tabs uses a SharedPreference for storing the list of tabs (and the backstack for each tab), which is architecturally unsound and unsustainable.
This should be refactored to use a database table, similar to other features in the app that make use of arbitrary lists of items. After this is done, we can consider increasing the maximum number of tabs from the current arbitrary limit of 100. This will also resolve numerous downstream issues and other weird behavior when the number of tabs approaches or exceeds 100.