Lay out the bread cubes in a single layer and let them dry overnight. If this is not an option, spread the bread crumbs in a single layer on a sheet pan and place them in an oven that has been preheated to 300°F for about 30 minutes. Once the bread cubes are dried, you may proceed.
Heat butter and grapeseed oil in a large skillet over medium-high heat. Add onion, celery, and garlic and cook for 5-8 minutes, or until tender and translucent. Stir in salt and pepper. Next, add the sage, rosemary and thyme. Stir and cook lightly. Add 1 cup of vegetable broth to deglaze the pan. Stir in spinach, and cook, JUST until it begins to wilt. Remove from the pan and toss gently with the bread cubes. Spread mixture into a lightly greased 11x9-inch baking dish.
While the onion mixture cooks, in a separate medium bowl, whisk together the remaining vegetable broth, milk, eggs, egg yolks, and cheese. Once the bread mixture has been spread into the baking dish, pour milk mixture over the bread mixture. Let sit for at least 2 hours, so the bread can soak up the egg mixture.
Preheat the oven to 325°F. Place the bread pudding in the oven, and bake for 40-45 minutes, or just until mixture is set, turning halfway through baking.
Remove from the oven, and let cool 10-15 minutes before serving. If you are making this ahead, to reheat, place a piece of aluminum foil loosely on bread pudding. Place in a preheated 325°F oven for approximately 15-20 minutes, or until heated through.