One likely explanation is that your impedance attribute is returning a cost of zero for some (or all) of your edges. With zero-cost edges, *any* path will be a "shortest" path, and thus you may get these winding paths such as you see here.
Please check your impedance attribute values for the edges along the given path (using the Network Identify tool), and if this is indeed the problem, update your attribute evaluator to return the correct (non-zero) values and rebuild.
If this is not the issue, please let me know and we can go from there.