Heat the olive oil in a large Dutch oven over medium heat. Add the celery, onions, and carrot. Cook until the vegetables have softened and the onions have started to caramelize, at least 15 minutes and up to 45 (the longer you allow the onions to caramelize, the better the overall flavor).
Add the mushrooms, sprinkle with salt, cook until dark and softened.
Add the milk and allow to cook until the milk looks as though it is mostly cooked off, the pan looks dry and the mushrooms are starting to stick to the pan, about 30 minutes.
Add half of the stout, cooking until the beer is mostly gone, about 15 minutes.
Stir in the peppers, spices, tomatoes, tomato puree, remaining beer and balsamic (plus Parmesan rind, if using) cook over medium/low heat (very low simmer), for three to four hours (you can transfer the sauce to a slow cooker instead, cook on low for 8 hours).
Stir in the Parmesan in the last ten minutes of cooking.
Serve over pasta, sprinkle with parsley and additional Parmesan if desired.