Arrange a rack in center of oven; preheat to 350°. Arrange croissant pieces in an even layer on 1 to 2 baking sheets. Bake, tossing occasionally, until toasted and dry, 12 to 15 minutes.
Meanwhile, grease a 13" x 9" baking dish with butter. In a large Dutch oven over medium heat, heat oil. Cook sausage, breaking up with a wooden spoon, until browned and cooked through, about 7 minutes. Using a slotted spoon, transfer sausage to a medium bowl. Discard all but about 1 Tbsp. grease. (If sausage didn't render that much grease, add an extra drizzle of oil.)
In same pot over medium heat, heat reserved grease and 3 Tbsp. butter until melted. Add onions and celery; season with salt and pepper. Cook, stirring occasionally, until softened, about 7 minutes. Add apples and cook, stirring occasionally, until just beginning to soften, 4 to 5 minutes. Add garlic, rosemary, sage, and thyme and cook, stirring constantly, until fragrant, about 30 seconds. Add wine and bring to a simmer, stirring and scraping up any browned bits from bottom of pan, until wine is mostly evaporated, 2 to 3 minutes.
Remove pot from heat. Add pecans, cranberries, and sausage and stir to combine. Add croissant pieces and gently toss to coat.
In a large glass measuring cup, microwave 3 Tbsp. butter until melted. Add eggs and broth and whisk to combine. Pour over croissant mixture and gently toss to coat. Add up to ½ c. more broth as needed until croissants are mostly hydrated but still maintain their form (i.e., not overly soggy). Transfer croissant mixture to prepared dish.
Bake stuffing, uncovered, until golden and heated through, 40 to 45 minutes. Let cool 10 to 15 minutes before serving.
