Hi,
You are correct in that SilverlightApp.RefreshVisualTrees will rebuild Test Studio's in-memory cache copy of the Visual Tree from scratch, and yes this is a relatively expensive operation. FrameworkElement.Refresh can also be relatively expensive, but not as much.
As an alternative, if you're looking for/waiting for a specific element to be created/appear you can use a Wait.For coded step instead like this:
If you have trouble following the code let me know and I'll try to explain it more clearly.
All the best,
Cody
the Telerik team