Yeah, the XML performance thing is mostly a misnomer. Dividing up the XML would not increase performance, it would only slow it down, at least in this case. We store it all in memory anyways so that navigation, searches, etc. are as quick as possible (and it takes up a minimal amount of memory). When stored in memory it is not parsing through XML, so the size of it doesn't matter much.
If it was divided up, saving could be faster because there would be less to save, but it currently does not take long to save the file anyways, so that's almost a non-issue (not to mention we do it in a separate thread so it doesn't slow down the UI).
Initial load times could also be improved if we divided it up, but truthfully you can't really predict what the user wants to see first, so ultimately you're going to need the entire collection soon enough anyways.
I've put a lot of effort into optimizations and at this point I'm pretty certain that the only way to significantly improve performance in useful ways would be to use a proper database instead of XML. But of course that has its own annoyances.