There are two issues that commonly cause this type of response.
Permanent magnet brushless motors are wound with a number of slots on the stators and poles on the rotor. Depending on the wind, the magnet spacing, and direction of magnetization the motors may be designed for six-step or sinusoidal operation. If you compare the back-EMF of these motors, some waveforms more closely resemble a trapezoidal waveform, while others more closely resemble a sinusoid. If the motor has slotted laminations, the resulting back-EMF is never exactly sinusoidal, so the motor will not draw a sinusoidal current when a sinusoidal voltage is applied. Rather, there will be periods of higher current and torque interspersed with lower, or the motor may even coast some when lightly loaded.
In your case I think it is more likely that you are seeing the quantizing effect of your lookup table. If the time period between the points on your table is constant, the adjacent values near the zero crossing will have a larger difference than at the peaks, because the slope is highest at the zero crossing point. This results in large steps in value near the zero crossing, so you are not accurately synthesizing a sine wave when loaded.