If the Geometry of your objects is 'Points', you can use a TextSymbol or a custom symbol including a TextBlock and bind the text property to an attribute of your graphics.
There is a sample of TextSymbol here : http://help.arcgis.com/en/webapi/silverlight/samples/start.htm#AddGraphicsXAML
If the geometry is Polyline or Polygon, you can create a new graphicslayer for your labels but you will have to define the label position either by a geometry service (such as LabelPoints) or by a calculation at the client side (such as geometry.Extent.GetCenter()).
I don't think so.
Is there no better way than to create text objects?
I need non overlapping labelsThere is no built-in methods to avoid overlapping labels -> this would need specific development.
or at least being able to set text background color (cannot find a way to do that on text objects). That makes text objects unusable if you have points close to each other.
Is feature layer a better alternative?
Is it possible to create feature layers dynamically?
And is "real" labelling possible in feature layers? Any other solutions available?
Pretty annoying that there is no labeling available for wpf solutions. It's not like it's a completely new feature I'm looking for, labeling is a quite basic operation...