I think the case is happened is because we are using NTS lib to check if the wkt is valid but in sql server, it is using sqltypes component to do this. I am guessing there are some differences rules for the validations. As a solution, we provide an alternative way by using SqlTypes, please try the blow codes:
bool isValid = SqlTypesGeometryHelper.IsValid(new Feature("POLYGON((-2.679141 56.696908,-2.67976050884605
56.696614232902,-2.67976050884605 56.696614232902,-2.679141 56.696908))"));
It will return false.