Thanks a lot for your help. I tried out both solutions and got it working now with some tweaking.
What I did was getting all the linear edge curves like in the SampleCsDuplicateBorder (since I only need those) and looked if they are in the BoundingBox I get from the objref.Surface().GetBoundingBox(true):
List FindIntersectingCurves(List curves, Surface surface)
{
List<Curve> result = new List<Curve>();
BoundingBox bbox = surface.GetBoundingBox(true);
foreach (Curve curve in curves)
{
if (bbox.Contains(curve.PointAtStart) && bbox.Contains(curve.PointAtEnd))
result.Add(curve);
}
return result;
}