EV3 RMIregulatedMotor Regulation Problems
Looking at your code, you're saying:


Set the motors to a speed of 300, acceleration of 1000
Run the motors backwards
Pause execution of your program for 500ms
Stop the motors 
If you're not seeing colour id 7, go to 1.


Assuming that this was exactly the same code you had on the Brick, I'd guess the delays introduced by the communication will cause a stuttery motion that you might not notice when running it on the device.

If you pulled the following lines out of your while loop things would probably be smoother:

leftMotor.stop(true);
rightMotor.stop(true);