Line an 8-inch square pan with a long sheet of foil that covers the bottom and reaches up the side, do the same for the other sides.
Coat with non-stick cooking spray.
In a medium saucepan, melt the butter, add the chocolate pieces and stir constantly over very low heat until the chocolate is melted.
Remove from heat and whisk in the cocoa powder until smooth.
Add the eggs one at a time, then stir in the sugar, vanilla, then the flour, add in the nuts, if using.
Scrape half of the batter into the prepared pan.
Drop 1/3 of the Dulce de Leche, evenly spaced over the brownie batter, then drag a butter knife through to swirl it slightly.
Spread the remaining brownie batter over, then drop spoonfuls of the remaining Dulce de Leche in dollops over the top of the brownie batter and use the butter knife to swirl the Dulce de Leche slightly.
Bake for 35 to 45 minutes. The brownies are done when the center feels just slightly firm.
Remove from the oven to a wire rack to completely cool.
These brownies taste even better the next day, and will keep well for up to 3 days.