Pre-heat oven to 350°F. Slice bread into 1-inch pieces. Toast cubes in an even layer on a baking tray for 7-10 minutes, or until they are dry but not too hard/crispy.
Lightly grease a 9x13 baking pan. Mix all the ingredients for the custard in a bowl. Set aside.
In a separate bowl, combine the bread, nuts, and apples. Mix well and then pour the mixture into the prepared baking dish. Let the custard sit on top of the bread for a few minutes. Then, press down gently on the bread to completely submerge it. Allow the casserole to rest for 15 minutes before topping it with cubed butter.
Bake at 350°F for 45-55 mins or until edges are set. A toothpick inserted in the center of the cake will show a few moist crumbs, but no raw/wet custard. Let cool on a rack for about 10-15 minutes before serving. Make the caramel sauce in the meantime.
Caramel Sauce Melt butter in small saucepan over medium heat. Mix in brown sugar and heavy cream. Stir until sugar dissolves. Stir in vanilla. The caramel can be made ahead of time and reheated when you are ready to serve. However, the sauce will thicken upon standing.
Serve warm with the desired amount of Caramel Sauce.