I think I found a bug in BRepLib.cxx in line 1587 (OCCT release 6.5.3):
the code line is the following:
if(ang >= angmax) angmax = ang;
In some circumstances ang is not initialized at this line because it will only be calculated if the variable Nok is true. I would suggest to change the code to
if(Nok && (ang >= angmax)) angmax = ang;
The bug affects the return value of the function and has probably a great impact. I am new to OCCT, so I don't know the internals very well. So maybe I am also wrong here.
Best regards, Martin