I would recommend against using WKT. Parsing it is a huge overhead. It's MUCH faster to parse WKB, not to mention building a parser for it is much simpler. First converting from SqlGeometry, to String, back to numbers, populate a SharpMap geometry, then re-create the geometry as ESRI geometry is quite an overhead.
The simplest approach is to use the SqlGeometry classes directly in your project, and parse those directly into ESRI geometry. That way you only will have one conversion., don't have to mess with Well-known-* or other geometry libraries.
Worst case, SharpMap is open source, so you could just take the SharpMap.Converters.WellKnownText.GeometryFromWKT and tweak it to return ESRI geometry instead (or even better use it's WKB classes). That shouldn't be much work.
(Still I recommend using SqlGeometry directly, instead of converting to WKT/B).