Obviously not a valid workaround but this does seem to resolve the issue on the specific features I'm testing:
<code><pre>
try
{
var bufferGeometries = geometryService.Buffer( inSR, bufferSR, outSR, distances.ToArray( ), unit, true, geometries.ToArray( ) );
return bufferGeometries.FirstOrDefault( );
}
catch
{
var pointArray = ((Ags.Services.PolygonN)geometry).RingArray[0].PointArray;
((Ags.Services.PolygonN)geometry).RingArray[0].PointArray = pointArray.Reverse( ).ToArray( );
var bufferGeometries = geometryService.Buffer( inSR, bufferSR, outSR, distances.ToArray( ), unit, true, geometries.ToArray( ) );
return bufferGeometries.FirstOrDefault( );
}
</pre></code>