This can happen when the motor is 'noisy' due to brush residue in the collector gaps. It will create current/voltage spikes then that hamper BT connection and may even upset the on-chip controller. A test would be to switch BT operation off and run by DCC - to show the severeness of the problem. If it stalls there too, a thorough cleaning of the motor is in order. In 'lighter' cases I've taken the motor out and ran it on 20..25V DC to burn the residue away - caution, you have to monitor the current draw. If it stays higher than 150mA for more than 30secs, the motor must be cleaned by other means, or may be faulty