Du hast drei Situationen beschrieben (1. Dein Sohn fährt voraus, 2. Ein anderer Hund ist dabei, 3. Der Spaziergang ist zu weit).
Ich würde dir empfehlen, alle drei Begebenheiten durch einen qualifizierten Trainer in Einzelstunden mit einen Blick von außen - also auch auf dich - beurteilen zu lassen.
In jeder kann es eine andere Ursache für das Verhalten deines Hundes geben und somit wären auch unterschiedliche Trainingsansätze notwendig.
Ich finde das sehr hilfreich, weil man viel gespiegelt bekommt und die Situationen gesondert betrachten und angehen kann.