Eu tive esse mesmo erro, mas acabou sendo um problema de orientação do anel de polígono. Uma simples questão de inverter a ordem das matrizes de coordenadas resolveu o problema.
Para ilustrar, isso falha com o erro acima:
select geography::STGeomFromText ('Polygon ( (10 10, 10 20, 20 20, 20 10, 10 10))',4326)
Considerando que isso funciona:
select geography::STGeomFromText ('Polygon ( (10 10, 20 10, 20 20, 10 20, 10 10))',4326)
Observe que não estou invertendo os pares x,y dentro de um ponto, estou invertendo a ordem de toda a matriz de pontos (por exemplo, {pt1, pt2, pt3, pt4, pt5} se torna {pt5, pt4, pt3, pt2, pt1 }