Make sure the hazelnut paste is very thoroughly blended (no separation of oil & solids) BEFORE measuring. Put 100g hazelnut paste into the bowl of a mixer fitted with the whisk attachment.
Combine the remaining ingredients in a small saucepan. Bring to a boil over medium-high heat. Stir occasionally. As soon as the mixture reaches a boil (or 212 degrees on a candy thermometer) immediately start the mixer on low and slowly pour the hot liquid in.
Stay on low for 30 seconds then mix on high until the hazelnut cream is thick and completely cool (when you touch the sides of the bowl it should be close to room temperature) Cover and refrigerate.
Combine sugar, non-fat milk powder, and tapioca starch. Mix the milk and cream in a large bowl. Whisk in the dry ingredients until there are no lumps. Thoroughly incorporate the corn syrup, being sure to scrape all of it into the bowl.
Place the mixture in a medium saucepan over medium-high heat. Cook for 8-10 minutes. Heat until bubbles start forming around the edges but do not let it come to a full rolling boil. Keep stirring the mixture while it cooks. In the last few minutes mix a bit faster as the mixture begins to thicken.
Once it’s thick enough to coat the back of a wooden spoon, pour it through a fine-mesh strainer into a clean bowl.
Place a piece of plastic wrap on the surface of the gelato to prevent a skin from forming. Put the bowl of hot gelato into an ice bath.
After the gelato has cooled, remove from the ice bath and refrigerate for 4-12 hours.
Mix hazelnut cream, salt, and gelato together with an immersion blender (or regular blender) until completely incorporated. Process the gelato in an ice-cream maker according to the manufacturer’s instructions.
When it reaches the consistency of soft-serve ice cream (about 20-30 minutes on most machines) Scoop into a container, place a piece of plastic wrap or parchment paper on the surface and freeze until firm (4 hours minimum)