When the Ranges property of scale is bound inside a user control then it causes the "Object reference not set to an instance of an object" exception in the Telerik.Windows.Controls.Gauge.ScaleBase.OnApplyTemplate method. As a workaround you can set the Ranges property to empty GaugeRangeCollection in your user control using the SetCurrentValue method which does not break the databinding. Also it will require to set the Ranges.ItemTemplate property after the scale is loaded.
RangeList and TickList should support ability to set list of the arbitrary objects as ItemsSource and use ItemTemplate to create ranges and custom tick marks.