So apparently the 3 step 'bug' is caused by the fact that the distances to pokemon on the nearby system are calculated by the server and sent to client and Niantic currently have the server just sending 200 meters for all of them (which might explain why the order on the nearby grid doesn't seem as reliable as it used to! )
https://www.reddit.com/r/pokemongodev/comments/4uvqjn/3_step_glitch_fix/
I imagined it was probably something like that. Less stress on the servers if they don't have to make all those calculations. It's kind of amazing how server intensive this game is.