Heat the milk in a small saucepan, stirring constantly, until just before it reaches boiling point. Remove from the pan and let cool slightly.
In a large bowl, combine the heated milk, 6 tablespoons of sugar, and salt. Stir in the eggs, yeast, melted butter and 1 cup of flour. Combine, then add the remaining 3 cups of flour. Mix gently until the dough starts to gather. Turn out the dough onto a lightly floured surface. Knead, adding flour as needed, until the dough is smooth and elastic, and does not stick to your hands.
Divide the dough into 2 equal portions. Place each ball of dough into its own lightly oiled bowl. Cover with plastic wrap then a tea towel, and let rise in a warm place for 1 ½ hours or until doubled in size.
Meanwhile, make the filling. Mix the ground walnuts, sugar, cinnamon, and cocoa in a large bowl. In a small saucepan, bring the milk and butter just to the boil and pour over the nut and sugar mixture. Mix in the egg and vanilla, stirring well to coat. Set aside until the filling reaches room temperature.
Prepare a large clean surface for rolling out the dough, sprinkling flour all over. Turn out one ball of dough, and gently roll until it measures 12 inches in diameter. Spread 1 tbsp melted butter all over the rolled dough. Using your hands, carefully stretch the dough until it becomes very thin – thin enough to see your fingers through it.
Spread half of the filling onto the entire surface of the rolled dough. Starting from one end, carefully roll up the dough into a scroll (the same way you would roll a cinnamon bun). Once the rolled, gently stretch each end to lengthen the “rope” you’ve created.
To lay the dough in the pan, carefully pick up the dough and place it in a greased bread pan in a “U” shape (with the bottom of the U fitting in the bottom end of the pan). Pick up one side of the U and place in the center of the U, continuing to coil the rest of the long dough around itself.
Brush the top with egg wash and repeat with the other ball of dough.
Cover each loaf pan with plastic wrap and allow them to sit for 15 minutes. Preheat the oven to 180C / 350F.
Bake the loaves for 15 minutes, then turn the temperature down to 150C / 300F. Continue baking for approximately 45 minutes, until the tops of each loaf are golden brown. Allow the loaves to cool completely in the pan.
This bread will last about 1 week in a sealed container at room temperature. If refrigerated, it will last about 2 weeks. I recommend keeping one out to eat fresh from the oven. Freeze the other loaf and re-heat whole, in the oven, until toasty.