Cook bacon until crispy, then crumble and set aside to cool along with the diced ham.
In a large mixing bowl, whisk together eggs, milk, thyme, chives, Dijon mustard, salt, and pepper until smooth.
Spray a 9x13-inch baking dish with cooking spray and arrange bread cubes on the bottom, then scatter bacon, ham, and Gruyere cheese over the bread.
Pour the egg mixture evenly over the bread and meat, pressing down to submerge the bread, then sprinkle Parmesan on top and cover with plastic wrap and refrigerate for at least 8 hours or overnight.
Remove from refrigerator 30 minutes before baking, preheat oven to 350°F, and bake uncovered for 45-50 minutes until puffed and golden brown.