Preheat oven to 275 degrees and arrange the racks to the lower and upper-middle positions. Spread out the cornbread on baking sheets and the white bread pieces on a separate baking sheet. Arrange the trays in the oven and bake for 50 minutes, until completely dry, stirring and rotating the trays a couple times. Dry the cornbread 5 to 10 minutes longer.
Remove and allow to cool. Turn up the oven to 350 degrees Fahrenheit.
Add half of the mushrooms to a food processor and pulse until roughly chopped. Remove and then pulse the rest of the mushrooms.
In a large Dutch oven, heat the olive oil over medium-high heat. Once it’s shimmering, add the mushrooms. Cook, stirring frequently until all the moisture has been released, about 8 to 10 minutes.
Add the sage and continue to cook the mushrooms until they are well browned about 5 minutes.
Toss in the rosemary, thyme, onion, garlic, and celery and cook until soft, about 10 minutes.
Pour in the broth and bring to a boil. Turn off the heat. Gently stir in the cranberries, bread, egg, and butter until evenly mixed, adding salt and pepper to taste.
Transfer to a greased 9x13 inch rectangular baking dish. Cover with foil and bake for 30 minutes. Remove the foil and bake for another 10 to 15 minutes, until crisp on top and golden. If you are going to freeze it though to serve later, go ahead and take it out. When reheating, you can crisp up the top.
Serve immediately or let it cool completely to room temperature before wrapping it up tightly and freezing.
The night before, let it unthaw in the fridge. Bring it to room temperature before reheating. Pour some melted butter on top, cover with foil, and reheat in a preheated 350 degree Fahrenheit oven for 20 to 30 minutes or until its hot. Take the foil off and cook for 5 to 10 minutes, until the top is crispy.