Ah, I know what you mean.
Setting osnap mode only allows AutoCAD to provide visual hint for where is suggested position to pick, but user may still pick anywhere he/she wants. In the case of yours, besides setting "OSMODE" system variable, you can also use Editor.Snap() method in your code to locate the actual location of a Node. Something like:
Dim oldVal As Object=Application.GetSystemVariable("OSMODE")
Dim nodePt as Point3d
Try
Application.SetSystemVariable("OSMODE", 8) '' 8 is the object snap mode for NODE
Dim res = _editor.GetPoint(vbcr & "Select a node:") ''
If res.Status == PromptStatus.OK Then
'' It is not guaranteed that user selects the location precisely
'' but we can expect user click at the location, or very close to the location
'' so, we use the selected point to find/snap to the nearest node point
nodePt = _editor.Snap("NOD", res.Value)
'' You may need further validation code to make sure the point is what you want here
End If
Finally
Application.SetSystemVariable("OSMODE", oldVal)
End Try
As you can see, after Editor.Snap() call, it should reasonably expect the point at target (NODE, or END, or whatever) is returned. If the drawing is very crowded at the expected location, you may want to zoom in enough first, or even freeze unwanted layers so the Snap() call can snap to the NODE/END... correctly. You may also need code after Snap() call to validate the returned point with your specific rules. But in most cases, setting OSMODE and calling Editor.Snap() would be good enough.