Gtk.Frame has the possibility of setting any widget as "label". You can access this widget by accessing the property LabelWidget. Using this possibility, you can set a new Gtk.Label with any properties you need.
var frmExample = new Gtk.Frame();
frmExample.LabelWidget = new Gtk.Label() { Markup = "<b>Example</b>" };
this.Add( frmExample );
this.showAll();
The solution is actually simpler for the specific case of a label with markup. I've found that the Gtk.Frame already has a Gtk.Label attached, and, as you said, you can set the markup property to true.
var frmExample = new Gtk.Frame( "<b>Example</b>" );
( (Gtk.Label) this.frmExample.LabelWidget ).UseMarkup = true;
this.Add( frmExample );
this.showAll();
Hope this helps.