Bring a large pot of water to a boil for the Brussels sprouts and pasta.
In a small saucepan, heat the milk over medium heat until hot, 3-4 minutes. In a large saucepan, heat the oil, one turn of the pan. Add 2 tablespoons butter and stir until melted. Add the shallots and garlic, and cook, swirling the pan, until the vegetables are aromatic, 1-2 minutes. Sprinkle the flour over the veggies and stir to blend, about 1 minute. Add the stock then the hot milk. Reduce heat to medium-low and simmer, stirring occasionally, until the sauce thickens, about 5 minutes.
While the sauce simmers, in a small skillet, melt the remaining 3 tablespoons butter over medium heat. When the butter foams, add the sage leaves and cook until browned and crispy, about 2 minutes; transfer to paper towels to drain. Add the breadcrumbs to the skillet with the brown butter and cook, stirring often, until golden brown, about 3 minutes.
Stir the three cheeses into the sauce; reduce the heat to low and season with nutmeg and pepper.
Salt the boiling water, add the pasta and cook to almost al dente. Add the Brussels sprouts and cook 1 to 2 minutes more. Reserve 1/2 cup starchy cooking water, drain the pasta and sprouts and return them to the pot. Add the cheese sauce and reserved cooking water; toss to coat and season, adding more cheese if desired. Divide among shallow bowls and top with the breadcrumbs and sage.