Heat 2 tablespoons of the olive oil in a saute pan over a medium heat. Add the sausage and break up into thumb sized pieces with a wooden spoon. Cook for about 10 minutes until the sausage is cooked through. Once cooked, remove the sausage from the pan and drain on a piece of kitchen towel.
Chop the white parts of the leeks by cutting it in half lengthwise and then into 1/4" half moons. Rinse the leek in a colander or sieve under running cold water to remove any grit. Drain the leeks on a paper towel.
Wipe out the saute pan you used to cook the sausage and add the remaining 1 tablespoon of olive oil. Heat over a gentle heat and then add the leeks and the salt. Cook the leeks until they are translucent and tender. Set aside to cool.
Cut the challah into 1/2" slices. Butter both sides of the bread and cut each slice in half diagonally. Use the remaining butter to grease the inside of a 9" by 13" ovenproof dish.
Cover the bottom of the dish with a single layer of bread slices. The slices should fit snugly.
Scatter the sausage pieces evenly over the layer of bread slices. Then scatter the cooked leeks, cheese and parsley.
Place the remaining slices of bread on the top of the sausage and leek layer, positioning snugly.
In a large jug, mix together the cream, milk, eggs and pepper. Combine well. Pour the egg mixture evenly over the bread slices. Sprinkle the top with the remaining cheese. Cover with plastic wrap and refrigerate for at least 1 hour or up to 12 hours.
Remove the dish from the refrigerator about 30 minutes before you want to start baking the pudding.
Preheat the oven to 350 degrees F (175 degrees C).
Remove the plastic wrap from the dish. Cover the dish with aluminum foil and place on a rack in the center of the oven. Cook for 15 minutes. Remove the foil and cool for another 30 to 40 minutes until the pudding is cooked through. Serve either hot, warm, or at room temperature.
Preheat the oven to 350 degrees F (175 degrees C). Bake uncovered for 15 minutes.