It will return false when curve A or curve B cannot be converted into a Nurbs curve. This might happen when they are not valid. After this the code submerges into our geometry kernel which I find absolutely unreadable so I'm sure there's other cases where it might return false, but those will most likely also have to do with invalid curves.