Preheat oven to 350F. Toast the bread cubes in the oven for about 10 minutes until dry and lightly golden.
Place dried Porcini mushrooms in a medium bowl and pour over boiling water. Steep for 30 minutes. Reserve the liquid for later after steeping.
Butter a 13-inch-by-9-inch baking pan.
In a large skillet, melt 1 tbsp butter and 1 tbsp of olive oil over medium heat and add onions. Cook, stirring occasionally, until softened, about 4 minutes. Add the thyme. Season with salt and black pepper and transfer to the bowl with bread cubes. Add 2 tbsp butter to the same skillet and add the chopped fresh mushrooms and garlic. Let cook, uncovered, stirring occasionally, until golden and any liquid has evaporated. Stir in the chopped dried mushrooms add salt and pepper to taste. When hot, transfer the mushrooms to the bowl of bread crumbs and onions.
Deglaze the pan by adding the reserved mushroom soaking liquid and scraping the bottom of the pan with a wooden spatula. Reduce the liquid to about ¼ c. and add to bread mixture, stirring well. Add bread and mushrooms to the buttered baking pan.
In a bowl, whisk together cream, eggs, salt and pepper to taste. Pour this custard over the bread and mushrooms. Add any remaining butter as small dollops on the top. Bake uncovered 25 minutes. Sprinkle the top with grated cheese and continue to bake, until the top is golden, the pudding is puffed up slightly, about 20-25 minutes more. Serve piping hot.