I have a simple application with 3 dockable panes:
<UserControl x:Class="SilverlightApplication1.MainPage" |
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"> |
<Grid x:Name="LayoutRoot"> |
<telerik:RadDocking> |
<telerik:RadSplitContainer Orientation="Vertical" InitialPosition="DockedRight"> |
<telerik:RadPaneGroup Align="Justify"> |
<telerik:RadPane Header="Calendar" /> |
</telerik:RadPaneGroup> |
<telerik:RadPaneGroup Align="Justify"> |
<telerik:RadPane Header="Contacts" /> |
</telerik:RadPaneGroup> |
<telerik:RadPaneGroup Align="Justify"> |
<telerik:RadPane Header="Links" /> |
</telerik:RadPaneGroup> |
</telerik:RadSplitContainer> |
</telerik:RadDocking> |
</Grid> |
</UserControl> |
After each docking iexplore.exe process memory increases and never decreases.
I inspected iexplore.exe process using YourKit profiler. And noticed that every redocking results in creating new instances of RadPaneGroup, RadPane[], DragValidator, PaneHeader, RadButton etc. These instances are never garbage collected.
Many redockings may result in great memory leak.
P.S. There is memory leak in silverlight when using inline DataTemplates http://forums.silverlight.net/forums/p/171739/415825.aspx. Maybe this is the issue.