Preheat oven to 400º degrees with a rack in the middle.
Cook the pasta according to package instructions, but 1-2 minutes less that what they call for so the pasta is almost al dente but not quite. Drain and reserve 1/3 cup of the cooking liquid.
In a large sauté pan, over medium heat, heat 1 tablespoon olive oil and brown the sausage, breaking the clumps apart with a wooden spoon, for about 5-8 minutes. Drain the excess fat and reserve on a plate.
Return the pan to medium heat and add another tablespoon of olive oil plus the butter. When the butter has melted, add the sliced Brussels sprouts. Cook, stirring often but not too much, until the sprouts are beginning to caramelize, about 5-6 minutes.
Stir in the garlic and 1 tablespoon chopped sage.
Optional: pour 1/2 cup white wine to deglaze the pan. Use a wooden spoon to scrape all the brown bits that are stuck on the bottom.
Season with salt and pepper.
Add the flour and stir to combine. Cook for a minute to get rid of the raw flour taste. Then, slowly add the heavy cream and milk. Cook until the sauce thickens, about 3-5 minutes.
Turn the heat off, then stir back the reserved sausage, salt, pepper, the lemon juice and zest, and 1/2 cup parmesan cheese.
Add the reserved pasta, along with the reserved cooking liquid. Stir until everything is well combined.
Transfer to a 9x13 baking dish, sprayed with cooking spray.
In a bowl, combine the breadcrumbs, remaining parmesan cheese, sage and olive oil. Scatter on the top of the casserole.
Bake for 20 minutes, until golden and bubbly. Let it rest for at least 5 minutes before serving.