Thomas,
I would like to add some corrections to what Scott just replied. Your projection DHDN Gauss Kruger is in meters (not in decimal degrees as Scott erroneously stated) as Open Street Map. DHDN Gauss Kruger is using Transversal Mercator and has the parameters set for the area in Germany as opposed to Spherical Mercator (projection used for Open Street Map) that has parameters for the world and presents heavy distortion at higher latitudes en.wikipedia.org/wiki/Mercator_projection. That is why to get a more accurate distance measurements, you can use the local DHDN projection when you are dealing with locations in Germany. You can see in the sample below where I use a line across Franckfort.
Your case is similar to one of our sample codes Measurements in Deciaml Degrees wiki.thinkgeo.com/wiki/Map_S...al_Degrees
I suggest you also look at that sample to better understand the issue.
//Points from Open Street Map values
LineShape lineShape = new LineShape();
lineShape.Vertices.Add(new Vertex(956258,6469464));
lineShape.Vertices.Add(new Vertex(971365,6468473));
//Distance in Spherical Mercator = 15.13 km
double dist1 = lineShape.GetLength(GeographyUnit.Meter, DistanceUnit.Kilometer);
Proj4Projection proj4 = new Proj4Projection();
//Google Map uses Spherical Mercator as Open Map Street
proj4.InternalProjectionParametersString = Proj4Projection.GetGoogleMapParametersString();
//DHDN / 3-degree Gauss-Kruger zone 3
//spatial-reference.org/ref/epsg/31467/
//The original proj4 string is:
//"+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs"
proj4.ExternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(31469); //"+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500140 +y_0=140 +ellps=bessel +datum=potsdam +units=m +no_defs";
proj4.Open();
LineShape lineShape_proj = (LineShape)proj4.ConvertToExternalProjection(lineShape);
proj4.Close();
//Distance in DHDN/ 3 degree Gauss Kruger zone 3 = 9.74 (more accurate)
double dist2 = lineShape_proj.GetLength(GeographyUnit.Meter, DistanceUnit.Kilometer);