You're right. I tested it, and came with another approach that works.
In the main public GMapControl() add just before:
this.ItemsSource = Markers;
Markers.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(Markers_CollectionChanged);
and add the following method to GMapControl:
void Markers_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
foreach (GMapMarker marker in e.NewItems)