In a medium saucepan set over medium-high heat, bring the milk, 1 cup cream, and sugar just to a boil, stirring occasionally.
Whisk the eggs together in a medium bowl just until frothy.
Slowly add half the hot milk/cream mixture to the eggs, whisking constantly; then pour this mixture back into the saucepan.
Cook the custard over medium-low heat, stirring constantly, until it thickens enough to coat the back of a spoon; it should never come to a boil. When thick enough, the custard should register 170°F on a digital thermometer.
Pour the custard through a fine-mesh strainer into a large bowl (a metal bowl is best). Set it aside.
Wash and dry the saucepan (or use a different saucepan), and add the caramel, remaining 1/4 cup cream, salt, and vanilla.
Warm the mixture over medium-low heat, stirring to help soften the caramel. Cook and stir until completely smooth.
Stir the warm caramel into the warm custard completely, leaving no streaks.
Cover the surface of the custard mixture with a piece of plastic wrap and refrigerate until chilled throughout, at least 4 to 6 hours or up to overnight.
Freeze the custard in an ice cream maker about 15-20 minutes. During the last two minutes of churning, add the chopped chocolate pieces.
Transfer 1/3 of the finished ice cream to an airtight container. Layer with 2 oz of the chocolate fudge (or caramel) sauce by spreading lightly over the top. Add another 1/3 ice cream layer and another fudge layer. Finish with the last 1/3 of ice cream, seal and place it in the freezer until ready to serve. Allow about 3 hours for a good hard ice cream, 1 hour for softer serve.