Ho avuto lo stesso errore, ma si è rivelato essere un problema di orientamento dell'anello del poligono. Una semplice questione di capovolgere l'ordine degli array di coordinate ha risolto il problema.
Per illustrare, questo non riesce con l'errore precedente:
select geography::STGeomFromText ('Polygon ( (10 10, 10 20, 20 20, 20 10, 10 10))',4326)
mentre funziona:
select geography::STGeomFromText ('Polygon ( (10 10, 20 10, 20 20, 10 20, 10 10))',4326)
Nota che non sto capovolgendo le coppie x,y all'interno di un punto, sto capovolgendo l'ordine dell'intero array di punti (ad es. {pt1, pt2, pt3, pt4, pt5} diventa {pt5, pt4, pt3, pt2, pt1 }