In a small saucepan, heat the whole milk and heavy cream over medium heat until it starts to simmer. Remove the pan from heat and stir in the chopped chocolate until it melts. Let the mixture cool slightly.
In a large bowl, whisk together the eggs, granulated sugar, salt, and vanilla extract until smooth.
Slowly pour the warm chocolate mixture into the egg mixture while whisking continuously until well blended.
Place the bread cubes in a greased 9x13-inch baking dish. Pour about half of the chocolate custard over the bread and gently toss until the cubes are evenly coated. Let stand for 10 minutes, then pour the rest of the custard over the top.
Preheat your oven to 350°F. Bake the pudding for 50-60 minutes, or until the custard is set. Remove from the oven and let it rest for 5 minutes before serving, then dust with powdered sugar. Enjoy warm, optionally with a dollop of whipped cream.