I know this doesn't exactly answer your question, but if you want more control over your Callout, you can use the following:
public void ShowCalloutAt(MapPoint location, UIElement calloutContent, Point leaderOffset = default(Point));
This allows you to define your own UIElement, the appropriate bindings, etc, and can be used like this:
ShowCalloutAt(location, new MyFancyCalloutView()
{
DataContext = new MyFancyCalloutViewModel(feature, _featureTable),
Background = Brushes.PaleGoldenrod,
BorderBrush = Brushes.OliveDrab,
BorderThickness = new Thickness(2)
});