Preheat the grill to medium-high heat.
Heat the olive oil in a large skillet over medium-high heat. Once hot, add the shallot and mushrooms; saute until softened and browned, 4 to 5 minutes. Stir in the BBQ sauce and stir, while cooking, for 1 to 2 minutes more.
In a large mixing bowl, break up the meat with your hands. Add the chopped onion, garlic, Worcestershire sauce, and salt and pepper. Mix until thoroughly incorporated. Divide the meat into 6 equal balls. Flatten them into patties and use your thumb to create an indent in the center of each burger. Grill the burgers, uncovered, for 4 minutes on the first side. Flip and continue cooking for another 4 minutes for medium. Remove the burger from the grill, place in buns, and immediately top with the Swiss cheese and the hot BBQ mushrooms.
The indent in the burger will prevent the burgers from puffing up while you grill them.