01 - Melt butter and olive oil in a large skillet over medium-low heat. Add sliced onions and cook, stirring frequently, for 15 to 18 minutes until soft and golden.
02 - Sprinkle onions with sugar and salt. Cook for another 10 minutes, stirring occasionally, until deeply caramelized.
03 - Stir in balsamic vinegar and thyme. Cook for an additional 1 to 2 minutes, then remove from heat and allow the mixture to cool completely.
04 - In a mixing bowl, combine pork sausage meat with Dijon mustard, parsley, black pepper, and cheese if using. Fold in the cooled onion mixture and mix gently until combined.
05 - Preheat oven to 400°F. Line a baking sheet with parchment paper. Roll out the puff pastry into a 12 by 10 inch rectangle.
06 - Slice the pastry in half lengthwise to create two long strips. Arrange the sausage mixture in a log along one long edge of each strip. Brush the opposite edge with beaten egg to seal.
07 - Roll the pastry up over the filling, making sure the seam is sealed firmly. Place the rolls seam-side down and cut each into 6 pieces to yield 12 rolls.
08 - Arrange sausage rolls on the prepared baking sheet. Brush the tops with remaining egg wash and score lightly with a sharp knife. Bake for 25 to 30 minutes until golden brown and crisp.
09 - Let sausage rolls cool slightly on a wire rack before serving. Enjoy warm for best flavor.