Preheat the oven to 350°F. Spritz a 13x9-inch baking dish with nonstick cooking spray.
In a large skillet saute onions and celery in melted butter for 2-3 minutes over medium-high heat, until softened. Season with salt and pepper to taste. Remove from the skillet to a large bowl.
In the same skillet cook the breakfast sausage over medium-high heat until no pink remains around 6-8 minutes. Drain excess fat from the pan.
Transfer sausage to the large bowl with the cornbread cubes, bread cubes, apples, canned soup, beaten eggs, sage, poultry seasoning, salt, black pepper and garlic powder. (You can add poultry seasoning 1 teaspoon at a time and adjust to your taste.)
Begin to add chicken stock to the ingredients in the bowl. Using a large spoon or spatula, stir the chicken stock through the cornbread mixture. (If you use less cornbread and bread than I did, you may not need the entire 3 cans of stock. The dressing mixture should be very moist.)
Pour the dressing evenly into the prepared baking dish.
Place into the oven. Bake for 50-60 minutes or until the top is lightly golden brown then serve drizzled with gravy.