Hello Todd Millett,
Its expected that loading a new non-root collection is slower operation than loading a root-level collection with the same number of items in it. The deeper you are in the tree, the slower this operation will be since when the tree is virtualized and new items are added every parent container must be measured again.
On the other hand, it could be the Clear() method that you use or the collection. Do you use List or RadObservableCollection? Could you please test your app with an ObservableCollection? Additionally, you can send a runnable sample so that we could investigate in depth and advice you better.
A good approach of loading on demand could also be found here
the Telerik team
Let us know about your Windows Phone 7 application built with RadControls and we will help you promote it. Learn more>>