Rub the hazelnuts in a kitchen towel to remove as much of the papery skins as possible, then finely chop them in a food processor or blender.
Warm the milk with 1 cup of the cream, sugar, and salt in a saucepan. Once warm, remove from the heat and add the chopped hazelnuts. Cover and let steep at room temperature for 1 hour.
Put the milk chocolate pieces in a large bowl. Heat the remaining 1 cup cream in a medium saucepan until it just begins to boil. Pour it over the milk chocolate pieces and stir until the chocolate is completely melted and smooth.
Set a mesh strainer over the top.
Pour the hazelnut-infused milk through the strainer into a medium saucepan, squeezing the nuts firmly with your hands to extract as much of the flavorful liquid as possible.
Discard the hazelnuts.
Rewarm the hazelnut-infused mixture. In a separate medium bowl, whisk together the egg yolks. Slowly pour the warm hazelnut mixture into the egg yolks, whisking constantly, then scrape the warmed egg yolks back into the saucepan.
Stir the mixture constantly over medium heat with a heatproof spatula, scraping the bottom as you stir, until the mixture thickens and coats the spatula. Pour the custard through the strainer and stir it into the milk chocolate mixture. Add the vanilla and stir until cool over an ice bath.
Chill the mixture thoroughly in the refrigerator, then freeze it in your ice cream maker according to the manufacturer’s instructions.