Is a snap on ferrite bead suitable for USB Arduino programming and charging
To see if this is an interference problem crashing the USB driver (i.e the problem requires unplugging the USB and re-plugging it in).  Try this: wrap the USB cable around the base of  desktop fan or kitchen blender.  While your application is running reliably , turn the fan (or blender) on and off. If this crashes your application. Then it is indeed electrical interference crashing your firmware (or USB driver at the PC end). Ferrite bead will do nothing.  However, connecting the outer shell of the USB plug to zero volts at the Arduino end may help. This will connect the outer sheath of the USB lead to 0 volts. All outside interference needs to travel through this.