Make the béchamel sauce: Melt the butter in a large saucepan over medium heat. Add the garlic and sauté for 3 minutes, or until fragrant.
Add the flour and whisk into the butter. Cook for 3 minutes, or until lightly browned.
While whisking, pour in the milk and heavy cream. Season with the salt and pepper. Reduce the heat to low and simmer, whisking frequently, until the sauce coats the back of a spoon, about 10 minutes. Remove from the heat and set aside.
Remove the leaves and stem from the head of the cauliflower and chop into roughly ½-inch (1-cm) florets. Set aside.
Trim the Brussels sprouts, then thinly slice. Add the sprouts to a 9x13-inch (23x33 cm) baking dish and push to one side, filling about a third of the dish.
Add the corn to the center third of the baking dish. Add the cauliflower florets to the remaining third of the baking dish.
Pour the béchamel sauce evenly over the vegetables.
Top the Brussels sprouts with the Gruyère cheese and bacon bits.
Top the corn with the cheddar cheese.
Top the cauliflower with the Parmesan cheese.
Sprinkle the bread crumbs evenly over the vegetables.
Cover the dish with foil and bake for 30 minutes, then uncover and bake for 30 minutes more, until the vegetables are tender and the top is golden brown.