Arduino Uno with Pololu Motor shield - erratic behaviour

I have a dual MC33926 shield on an Arduino uno.
I have 2 12V windscreen wiper motors connected to the shield
I have 2 12V batteries, one to power the arduino, the other to Power the shield
When I run the arduino and shield without the motors connected all appears correct (leds on shield light up for correct direction etc.)
When I connect motors, all runs ok for maybe one or 2 cycles and then erratic behaviour - one motor just keeps running, or none run when they should etc.
Previous posts and googling suggests noise suppression capacitors (I have installed 3 per motor)
Also I have seen suggestions for inline diode on arduino power line and a cap across vin and gnd on Arduino which I have done
I have also separated the power sources for the Arduino and the Shield.
still the erratic behaviour persists
I have also swapped out the shield for another I have - same behaviour.
I have measured the current drawn as the motors run and it looks like the current peaks at around 5.8 to 5.9 A with a 12V supply. So I decided to try running the motors at 24V to reduce the current consumption, but the same symptoms are present.
Has anyone got any further suggestions ?

Thermal cutout perhaps? They recommend adding heatsinks for high current.