This is not unusual. At lower scale values, your grid does not cover most of the screen, so it does not produce too many fragments. On a large scale, the entire screen is covered with your grid and, even worse, congestion becomes a huge factor.
In this scenario, you are tied to fragments to reduce the complexity of the fragment shader, and also provide a preliminary pass Z to reduce redundancy.
source share