I've had a similar issue when trying to step too quickly for the motor. It might work when doing a curve because the motors aren't being driven at full speed. I've not played around with GRBL but I would expect there is a method of lowering the maximum step speed. Try adjusting that and see if it helps. You could also look to lower the speed in your GCode programme.