I think I understand know, you have to assign f1.Union(f2) to a new object:
...
...
var f3 = f1.Union(f2);
var ls3 = new LineString(f3.BasicGeometry.Coordinates);
var length3 = ls3.Length;
...