Just a quick note to let everyone know of a possible problem when using a web service to populate the tree-view.
We had the case where we were trying to populate one level of the tree view (from a web service), and we recieved the error message "Maximum length exceeded" from Internet Explorer - no code source or break-point was able to catch where it happened. Turns out it is just a common problem with web services - they return the data as XML, and if it is larger than the default limit, then this error is returned.
The solution is to extend the maxJsonLength, by adding the following section to your web.config file, at the configuration level, after the system.web node. (This is assuming you already have the jsonSerialization section in the configSections part of the web.config file)
<jsonSerialization maxJsonLength="5000000" />
Hope this helps someone else who has the same issue.