Preheat oven to 350 degrees F. Lightly butter (or use a non-stick cooking spray) two 9-inch by 13-inch baking pans or individual baking dishes.
Prepare topping: In a small bowl, heat the 3 tablespoons butter until it just starts to melt. Stir in the breadcrumbs and grated parmesan cheese; set aside.
Cook pasta according to package directions; drain and return to pan to keep warm. Pasta is done when it is slightly chewy to the bite or "al dente." Drain pasta in a colander and then transfer to a large bowl. Learn How To Cook Pasta Properly.
Prepare the sauce while the pasta is cooking: See tips and instruction for making Bechamel Sauce - Basic White Sauce.
In a large heavy saucepan over medium heat, add bacon and cook until golden, approximately 3 to 4 minutes. Remove bacon from pan and set aside. Drain the bacon fat from the pan and discard.
In the same saucepan over medium-low heat, melt the 6 tablespoons butter. Stir in the minced onions and garlic; saute for 1 to 2 minutes until onions are translucent. Do not let the butter brown during this stage.
Whisk in the flour and cook an additional 3 minutes, whisking constantly until the flour is bubbly. Gradually add the milk and bring just to a boil, whisking constantly. Reduce heat to low and let simmer, stirring often, until the sauce slightly thickens, approximately 4 to 5 minutes.
Remove pan from heat and add salt and pepper to taste.
Stir in the smoked Gouda cheese, Muenster cheese, mustard, and Worcestershire sauce; stir until cheese is melted.
Remove pan from heat and fold in the cooked Macaroni pasta and the cooked bacon pieces. The macaroni should be soupy at this point, as it will absorb a large amount of sauce as it bakes.
Note: The dish can be covered and refrigerated for up to 3 days at this point.
When ready to bake the dish, divide the mixture into either the prepared large baking dishes or individual baking dishes. Top each dish with some of the reserved prepared breadcrumb topping.
Bake approximately 15 to 20 minutes until bubbly and top begins to brown (longer if refrigerated). Remove from oven and let sit 5 minutes before serving.
Serves 8 to 10 as a main dish.