Well, I have discoverd a catastrophic issue but I'm not sure why this happen, I used HttpWatch tool to monitor the size of data the sent and received once the user click on the tree nodes, I have found that the size of data is doubled each time the user click on the same nodes! this behavior does not appear if the tree viewstate is disabled.
My explanation for this is the viewstate is not overwritten each time the user click on the same nodes but instead it's expanded each time!
Please help.