Hello,
XPages development is amazing, isn't it? This won't be your last question about XPage, either to this community, IBM or some god you ask why =)
Partial Execution mode is.. well, as far as I understood it:
If you do something in serverside javascript, the code of all your elements of the page is reloaded or re-evaluated, doesn't make sense to me, but okay. Partial execution mode say that this doesn't happen, so only the code in your current element is re-evaluated.
Sorry, I do not have a much better explanation. Get a better understanding on this is one of the point on my list, named, "I will do if I have some time", it is already more than 3 miles long.
I think the problem in your application, are the datasources.
You should know, on nearly all partial refreshes, all datasources on an XPage will be refreshed. This doesn't make sense, I know, but this is a gift from IBM. There is already a PMR about this topic, so this will be fixed soon *rolleyes* =)
I can give you an explanation of the behavior of your application:
If you start the XPage with all categories collapsed, Xpages do not need to deliver all information to your browser. The same if you start it expanded and then you collapse everything, to page only has to send some information to hell. The other way round, the XPage has to receive all information of all entries and have to render it. Takes a little longer, as you can imagine.
The only way to improve performance is to fasten your code, do some recycling (BE CAREFUL WITH THAT NASTY FEATURE) and try to improve performance everywhere. Sounds easy, I know =)
Also, be careful with that. In an application, I had the problem that in a datasource which loops a lot of documents, I also had some performance issues. Because every partial refresh wants to be processed propably, server queries them. If a partial refresh lasts a little longer, it was possible to drive the server into OuOfMemoryExceptions and even crash it with wild clicking of 3 people simultaneously... Also a bit nasty... sometimes I am asking myself why I develop applications with XPages =)
But don't give up. =)