The reference page for analogWrite() states:
Notes and Known Issues
The PWM outputs generated on pins 5 and 6 will have higher-than-expected duty cycles. This is because of interactions with the millis() and delay() functions, which share the same internal timer used to generate those PWM outputs.
That could be the problem.
To check that this is so, you could check that pins 3, 10 and 11 work normally, like 9. Using free sound-card oscilloscope software you could also verify that analogWrite(3,0) and analogWrite(5,0) don't look the same.
If you confirm that this is the problem, do you need pins 3, 10 and 11 for something else or can you use two of them instead of 5 and 6?