If you are up for hints, take a look at how much body language you are showing the pup.

I would work to get away from that as quickly as possible. I know you are probably not going for competition with this puppy, but it pays to work for precision. Start out with the puppy in perfect heel position, with you standing up nice and STRAIGHT. His rear is kicked out away from you, both when you start, and when he finishes position. This is mostly due to you turning and leaning towards him when he is at your side.

To help speed him up, you can take a step or two backwards, and a step or two forward, encouraging him to speed up.

For me personally, I also do not use the stay signal or command when I am going to call the dog off of a position. If I say STAY to the dog, or give the stay signal, I ALWAYS return to the dog. If I am going to call the dog off a command, I use the command WAIT, with a big sweep across in front of the dog's nose. I have found this radically decreased my dog's anxiety on the stay exercises. They know when I say stay I am coming back to them. It also increased the levels of attention on the recall and other exercises where I am leaving the dog to subsequently call him off the position, or give another command.

I am also wondering why you are walking away from the puppy at this point, and then asking him to come to heel? I teach the finish from a position with the puppy at front, toe to toe with me.

He is a handsome guy, and getting so big. I loved his little tail wag after you finished.