Has it ever been explained why the Germans halted their advance at Dunkirk?
Several potential reasons:
[1] The counterattack against Rommel at Arras had a psychological effect on the German High Command far in excess of its on the ground accomplishments [a la Doolittle Raid]. There was almost a sense of waiting for the other shoe to drop because YELLOW had gone so smoothly.
[2] The German Infantry was having trouble closing up on the Panzers and Motorized formations, especially on the south flank. 95% of the German Army was unmotorized [including infantry and artillery-leg and horsedrawn, respectively]. This caused concern among the more senior, older and more conservative commanders, like Rundstedt, and several of the Army commanders.
[3] The theory that Hitler was reluctant to “drop the hammer” on his [from his view] Aryans-the Brits, and wanted to limit their caualties to facilitate a negotiated peace.
[4] Some of the Panzer, Mech., and motorized formations may have needed a little down time for maintenace and resupply.
Left off one other reason. Goering boasted to Hitler that the Luftwaffe could finish off the beach head by itself, and asked for the chance to do so. Since the Luftwaffe, up to that point in time, had been superlative, Hitler agreed to the request.
What I have heard is Goring convinced Hitler the Luftwaffe could do the job; this will not be the last time Hitler believed fatso’s boastings with horrible consequences for the Nazi.
Another idea is Hitler thought the English were quasi-Aryans so he wanted to let up and negotatiate a peace.
I read somewhere that churches in Britain were filled with people praying for their troops just before the Wehrmacht halted. I don't know if it's true.