Warm 1 cup of the cream with the cocoa powder in a medium saucepan, whisking to thoroughly blend the cocoa. Bring to a boil, then reduce the heat and simmer at a very low boil for 30 seconds, whisking constantly. Remove from the heat and add the chopped chocolate, stirring until smooth. Then stir in the remaining 1 cup cream. Pour the mixture into a large bowl, scraping the saucepan as thoroughly as possible, and set a mesh strainer on top of the bowl.
Warm the milk, sugar, and salt in the same saucepan. In a separate medium bowl, whisk together the egg yolks. Slowly pour the warm milk 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 (and reaches 170 degrees F on an instant-read thermometer). Pour the custard through the strainer and stir it into the chocolate mixture until smooth, then stir in the vanilla. 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. (If the cold mixture is too thick to pour into your machine, whisk it vigorously to thin it out.) Once the ice cream has finished churning, fold in the marshmallows, walnuts and chocolate chips.
Swapping out the nuts. Use pecans, almonds, or peanuts if you do not have walnuts. Alternatively, if you do not want nuts, substitute with additional chocolate chips and mini marshmallows.
Storage: Keep your ice cream stored in a wide, flat airtight container. This allows for a quicker freeze and reduces the size of the ice crystals while the ice cream freezes leaving it nice and creamy.
Shelf-Life: This creamy rocky road ice cream keeps for up to 2 months in the freezer.