Warm the olive oil in a skillet over medium heat, and then toss in the onions. Sauté them in the hot oil until deeply fragrant and beginning to caramelize, about 10 minutes. Stir in the breakfast sausage, and continue cooking with the onion until cooked through and well browned - about 8 minutes. Toss in the mushrooms, and sauté until browned and cooked through. Turn off the heat and allow the filling to cool.
Whisk the eggs with sour cream, salt, pepper and green onions together with half the grated cheese.
Spoon the filling into a baking dish, and then pour in the egg mixture. Bake for 45 minutes, until puffed with a slightly wobbly center. Allow the casserole to cool to room temperature, and then transfer to the freezer at least 2 hours and up to overnight.
Prepare the casserole for long-term freezing.
Remove the casserole from the freezer, and sprinkle it with the remaining cheese. Tuck the casserole in its dish into a FoodSaver vacuum seal bag, and vacuum seal. Transfer to the freezer, and serve within 1 year.
Finishing the casserole.
The night before you plan to serve the casserole, transfer it from the freezer to the fridge. Let it thaw, refrigerated, at least 8 hours and up to 24 hours.
Heat the oven to 350 F, and place the casserole on a baking sheet. Tent with foil, and bake for 30 minutes, or until the casserole reaches an internal temperature of 160 F.
Turn on the broiler to high, and remove the foil. Allow the cheese to brown under the broiler, 3 to 5 minutes. Serve warm.