Preheat oven to 350° F. Line a 9 x 13 pan with nonstick cooking spray and parchment paper and set aside.
In a large pot over medium-low heat, melt butter, oil, chocolate, and cocoa together until fully melted and smooth. Remove from heat.
Pour in sugar and vanilla extract. Add in eggs, 1 at a time, stirring vigorously before the next addition. After all four eggs have been mixed in, the batter should be thick and smooth without that granular look to it. Add in the remaining dry ingredients and stir gently until just combined. Do not over mix.
Fold in milk chocolate chips and walnuts if using, and pour batter into prepared pan. Smooth the top and bake 30-35 minutes. Cool 5-10 minutes before poking holes into it for the hot fudge sauce.
for the hot fudge
While brownies are baking, place heavy cream, corn syrup, brown sugar, cocoa, salt, and half the chocolate chips into a small saucepan. Place over medium heat and stir frequently until it comes to a boil. Reduce the heat to low and lightly simmer for 5 minutes. Remove from heat and whisk in remaining chocolate chips, butter, and vanilla. Pour sauce into a separate bowl to cool until brownies are done baking.
Once brownies are cooled 5-10 minutes, drizzle 3/4 cup prepared hot fudge overtop brownies and spread to saturate evenly. Sit another 10 minutes or so, then cut into squares and serve with ice cream and cherries.