Calculating angle returns constantly changing minimum results?!?

I found this answer - float angle = 90 - Vector3.Angle(Vector3.up, transform.forward) that may help.