Grease a 9x13-inch baking dish with butter or non-stick spray, then arrange the French bread cubes in an even layer in the prepared dish.
In a large mixing bowl, whisk together the eggs, whole milk, heavy cream, granulated sugar, vanilla extract, cinnamon, nutmeg, and salt until fully combined and smooth.
Slowly pour the egg mixture evenly over the bread cubes, pressing down gently with a spatula to ensure all pieces are soaked. Cover the dish tightly with plastic wrap and refrigerate for at least 8 hours or overnight.
Preheat your oven to 350°F (175°C). Meanwhile, prepare the streusel topping by combining the brown sugar, flour, and cold butter pieces in a medium bowl. Use a pastry cutter or your fingers to work the butter into the dry ingredients until the mixture resembles coarse crumbs, then stir in the chopped pecans if using.
Remove the baking dish from the refrigerator and discard the plastic wrap. Sprinkle the streusel topping evenly over the soaked bread mixture.
Bake uncovered for 45-55 minutes, or until the top is golden brown and crisp and the center is set (a knife inserted should come out clean). Let stand for 10 minutes before serving to allow the custard to set completely.