Whisk together the heavy cream, milk, sugar and cocoa powder in a saucepan. Bring to a simmer over medium heat. Continue to whisk periodically to help dissolve the sugar and incorporate the cocoa powder. Once it simmers, turn off heat. Do not bring to a boil as this can cause the milk to separate.
Whisk egg yolks and vanilla until pale, about three minutes. Temper about ¼ to ½ cup of warm cream mixture into egg mixture, whisking constantly. Repeat this step a few times.
Add tempered egg-cream mixture back to the pot. Whisk constantly over medium heat and bring back to a simmer. Again, do not boil. Cook until mixture thickens and covers the back of a wooden spoon. Turn off heat.
Pour into a large mixing bowl, and then directly cover the top of the custard's surface with plastic wrap and refrigerate until cold, at least four hours to ensure proper churning, though I like to chill overnight to really make sure it's cold.
Spread mini marshmallows on a broiler-safe sheet. Broil a few inches from the heating unit until the marshmallows are brown and toasty. Keep a close eye on this. It won't take long for the marshmallows to toast. Use a spatula and move the toasted marshmallows to parchment paper to set. This will get a little sticky, and the marshmallows won't hold their shape -- that's totally fine (see blog for a photo).
Pour custard in an ice cream maker and churn according to manufacturer's directions. In the last five minutes of churning, add the crushed graham crackers and globs of toasted marshmallows to the ice cream maker. The marshmallows will be a bit sticky.
Pour the churned ice cream into an airtight container. Freeze for several hours before serving. Enjoy!