Our labrador was the same - even at five months she nearly pulled my arm off.  As others have said, probably no quick solution, but the halti may help given a bit of time, and the thing to remember whatever type of lead you use is to jerk, and immediately release, and repeat as many times as needed. Change direction too, your aim is to get the dog to be following your lead and not his.  Make sure you jerk sideways and are not pulling backwards. Most dogs who pull need time and patience, and anyone who walks the dog must always continue to take the same approach.

As for the dog running off, explain your problem when you meet other dog owners (preferably ones with older/calmer dogs) and let him off the lead with them. Even if yours refuses to come back, when the others are recalled by their owners you'll find yours will trot back with them.  Our 'dog group' at the local park 'met up' most mornings after the school run, and we often had a pack of 8-12 dogs running around. Once I let ours off the lead, she had so many friends all running in different directions she soon got worn out, and within the week had calmed down and accepted that once she had her 'playtime' it was time to go home.

Labradors are wonderful dogs, but they do stay 'babies' longer than most (apart from boxers) !  Your post has made me think back and remember the hours I spent training Chelsea as a pup - she's now a sedate grand old lady of eleven, and butter wouldn't melt in her mouth