Preheat oven to 350°F. Spread the hazelnuts in an even layer on a non-greased sheet pan. Bake the nuts for 10 to 12 minutes, stirring once or twice so that they toast evenly. The nuts should be lightly golden brown. Let the nuts cool completely, then rub them in a kitchen towel to remove as much of the skins as possible. Finely chop the hazelnuts in a food processor.
Warm the milk with 1 cup of the cream, sugar, and salt in a saucepan, stirring to dissolve the sugar. Once the mixture starts steaming, and just before it starts to boil, remove it from the heat and stir in the hazelnuts. Cover and let steep at room temperature for 1 hour.
Meanwhile, put 4 ounces of the milk chocolate pieces in a large bowl. Heat the remaining 1 cup heavy cream until it just begins to boil. Pour it over the chopped chocolate. Let it sit for 5 minutes, then stir until the chocolate is completely melted and smooth.
Pour the hazelnut-infused milk through a strainer into a separate bowl, squeezing the nuts to extract as much flavor as possible. Discard the hazelnuts. Return hazelnut-infused milk to the saucepan and set over medium low heat.
In the bowl, whisk together the egg yolks. When the hazelnut mixture is warm, slowly add it to the egg yolks while whisking constantly. Pour the egg mixture back into the saucepan and cook over medium heat until the mixture thickens and coats the back of a spoon, while whisking constantly. Pour the custard through a strainer into the bowl with the chilled chocolate mixture. Add the vanilla and stir until combined.
Chill the mixture thoroughly in the refrigerator for several hours, or overnight. Freeze in an ice cream maker according to the manufacturer's instructions, adding the remaining 4 ounces of chopped chocolate during the last 5 minutes of churning.
Let the ice cream firm up in the freezer for a few hours before serving.