Preheat oven to 300°F and line a baking sheet with parchment paper.
Place egg white in a medium bowl with a pinch of salt and whisk until loose and frothy. Add walnuts and toss to coat. Add brown sugar and stir until well-coated.
Pour onto prepared baking sheet and separate the nuts. Bake for 25-30 minutes, or until deeply toasted and the coating is dry.
Let cool 10 minutes on the pan, then transfer to a plate to cool completely.
In a large heatproof bowl, combine egg yolks, cornstarch, salt and ½ cup whole milk. Whisk until smooth and lump-free.
Melt 4 Tablespoons butter in a medium pot over medium heat. Add brown sugar and whisk until combined. Continue to cook for 5 minutes, whisking, as the caramel bubbles and caramelizes.
Carefully and slowly whisk in the remaining 1 ½ cups milk and heavy cream, scraping to dissolve any bits of hard caramel. Bring to a boil. Slowly whisk half of the hot cream mixture into egg yolks to temper, then return to the pot.
Cook over medium-low heat, whisking constantly, until bubbly and thickened, 2-3 minutes. Remove from heat and whisk in vanilla. Cut remaining 4 Tablespoons of butter into cubes and gradually whisk in butter pieces until fully combined.
Pass through a fine mesh sieve into a heatproof bowl. Press plastic wrap directly onto the surface of the pudding and chill for at least 2 hours.
To serve, spoon pudding into dishes. Top with whipped cream and chopped candied walnuts.