Spray a 9x13-inch dish with nonstick spray. Slice the bagels into small chunks and scatter on the bottom of the pan.
In a large skillet, melt the butter over medium heat, and add the brown sugar. Stir until the butter and sugar are bubbling—continue to stir and cook for an additional 2 minutes. Add the apples and continue to stir until apples are well-coated with the caramel mixture. Cook and stir for an additional 2 minutes. Spoon the apples on top of the bagel pieces in the pan. Scrape the sugary juices evenly on top.
In a large bowl, whisk together the eggs, half-and-half, sugar, vanilla and salt until the sugar is dissolved. Pour over the bagel/apple mixture in the pan. Cover the pan loosely with plastic wrap, and place another pan on top to submerge the bagels in the liquid. Let sit at room temperature for 30 minutes.
Preheat the oven to 350 degrees F. Make sure there is a rack in the middle and another rack on the bottom of the oven. Place a rimmed baking sheet lined with foil on the bottom rack (this will catch any potential drips). Remove the plastic wrap, cover the bread pudding with foil, and bake for 45 minutes. Remove the foil and bake for an additional 15 minutes. Let cool for at least a few minutes before servings. Serve slices warm with a drizzle of caramel sauce.