A circular reference was detected while serializing an object of type System.Globalization.CultureInfo
I changed my webmethod to return
ds.GetXml();
and this worked. Considering datasets are serializeable I'm not sure why I have to do this, but it gets me over this hurdle.