Define tu WebMethod como XmlDocument, después que tengas todo tu xml armado haz lo sgte.
Código:
public XmlDocument metodoX()
{
...tu codigo...
XmlDocument _xml = new XmlDocument();
_xml.LoadXml(tu_string)
return _xml;
}
y como dato adicional... en vez de usar la clase string para concatenar usa la clase StringBuilder.
saludos.