Please, look at the code I am using below. Basically, I think that with the function GetAngleFromTwoVertices you have what you need.

winformsMap1.MapUnit = GeographyUnit.Meter;
winformsMap1.CurrentExtent = new RectangleShape(0, 90, 180, 0);
LineShape lineShape = new LineShape();
lineShape.Vertices.Add(new Vertex(10, 60));
lineShape.Vertices.Add(new Vertex(130, 20));
PointShape pointShape1 = lineShape.GetPointOnALine(StartingPoint.FirstPoint, 30);
double Angle = GetAngleFromTwoVertices(lineShape.Vertices[0], lineShape.Vertices[1]);
double offsetAngle1 = Angle;
double offsetAngle2 = Angle + 180;
PointShape offsetPointShape1 = (PointShape)pointShape1.CloneDeep();
PointShape offsetPointShape2 = (PointShape)pointShape1.CloneDeep();
offsetPointShape1.TranslateByDegree(20, offsetAngle1);
offsetPointShape2.TranslateByDegree(20, offsetAngle2);
InMemoryFeatureLayer inMemoryFeatureLayer = new InMemoryFeatureLayer();
inMemoryFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyles.CreateSimpleLineStyle(GeoColor.StandardColors.Red, 3, true);
inMemoryFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyles.CreateSimpleCircleStyle(GeoColor.StandardColors.Green, 10);
inMemoryFeatureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
inMemoryFeatureLayer.Open();
inMemoryFeatureLayer.EditTools.BeginTransaction();
inMemoryFeatureLayer.EditTools.Add(new Feature(lineShape));
inMemoryFeatureLayer.EditTools.Add(new Feature(pointShape1));
inMemoryFeatureLayer.EditTools.Add(new Feature(offsetPointShape1));
inMemoryFeatureLayer.EditTools.Add(new Feature(offsetPointShape2));
inMemoryFeatureLayer.EditTools.CommitTransaction();
inMemoryFeatureLayer.Close();
LayerOverlay layerOverlay = new LayerOverlay();
layerOverlay.Layers.Add(inMemoryFeatureLayer);
winformsMap1.Overlays.Add(layerOverlay);
winformsMap1.Refresh();