This is a simplified version but demonstrates a similar bias, which appears to be caused by the Random integers being grouped in the middle of the range (white group), instead of evenly distributed. Disturbing indeed.
This probably be a slightly improved algorithm by excluding the reverse direction of the previous step direction from the next step with, choosing only one of the three directions will yield better(?)results.