Place a large bowl in your sink and fill it about half full with ice. Place a slightly smaller stainless-steel or glass bowl inside the bowl with the ice bath. Add the heavy cream to the inside bowl. Set a fine mesh strainer on top of the bowl.
In a medium saucepan whisk together the milk, ¾ cup of the sugar, a dash of salt and the cocoa powder. Heat on medium until the mixture reaches 185°F on an instant-read thermometer. Once you reach 185°F, continue to cook the mixture for 5 minutes, stirring constantly, but do not boil.
Remove from the heat and add the chopped chocolate. Stir until all the chocolate has melted. Set aside.
In a small mixing bowl, whisk the egg yolks with the remaining ¼ cup sugar until slightly thick and foamy. Temper the eggs by drizzling a small amount of the hot chocolate mixture to the eggs, while whisking constantly. Continue whisking and adding more hot chocolate mixture to the eggs until all is combined. Return the chocolate and egg custard to the saucepan.
Place the mixture on the stove top over medium heat. Using a wooden spoon, stir the custard constantly until it again reaches 185°F on the instant-read thermometer (or when it coats the back of the wooden spoon). Do not allow the mixture to boil.
Remove from the heat and pour the hot chocolate custard through the fine mesh strainer/sieve into the bowl with the cold heavy cream. Add the vanilla extract and stir until completely blended.
Cool the mixture by stirring every 5 minutes or so while over the ice bath. After about 30 minutes, cover the bowl with plastic wrap and refrigerate overnight or for at least 8 hours.
Process according to your ice cream maker instructions.
Once processed, spoon about ¼ of the chocolate ice cream into a storage container and sprinkle with ⅓ of the nuts and marshmallows. Repeat two more times by layering the ice cream, then the nuts and marshmallows, ending with the last of the ice cream. Freeze in a sealed container until ready to serve.