Preheat the oven to 350 degrees F.
Spread the bread onto a large baking sheet (or 2 smaller baking sheets) in an even layer and bake, stirring a few times, until lightly golden brown, about 12 minutes. Remove and let cool. Once cooled, put the cubes into a very large bowl.
Increase the heat to 375 degrees F. Combine the mushrooms in a large baking dish or baking sheet, toss with 3 tablespoons of the oil, and season with salt and pepper. Roast in the oven, stirring several times, until soft and golden brown, about 25 minutes.
While the mushrooms are roasting, heat the remaining 1 tablespoon of the canola oil in a large high-sided saute pan over medium heat. Add the bacon and cook, stirring occasionally, until golden brown and the fat has rendered, about 10 minutes. Remove the bacon with a slotted spoon to a plate lined with paper towels.
Remove all but 2 tablespoons of the rendered fat in the saute pan and place back on the stove over high heat. Add the onion and cook until soft, about 4 minutes. Add the garlic and cook for 1 minute. Add 3 cups of the chicken stock and the herbs, season with salt and pepper, and bring to a simmer.
Add the mushrooms to the bread, and then add the onion/stock mixture, egg, salt and pepper, and gently stir until combined. The dressing should be very wet, add more stock as needed. Scrape the mixture into a buttered 13 by 9 by 2-inch glass baking dish. Cover with foil and bake for 20 minutes. Remove the foil, and continue baking until the top is golden brown, about 30 to 40 minutes longer. Remove from the oven and let cool for 10 minutes before serving.