To make the soup, coat the bottom of a large dutch oven with olive oil. Heat up to a medium temperature. Brown the meat in small batches making sure that you season each batch with a pinch of salt and pepper. Set aside when all the beef is browned.In the same pot, add the onions, garlic and mushrooms. Cook until the vegetables become soft, about 5 minutes. Add the thyme, marjoram, rosemary, bay leaf and salt and pepper. Cook for another 5 minutes and add the beef back to the pot. Add the Worcestershire and the wine, scraping up any brown bits from the bottom. Add the beef stock and bring to a boil.Place the covered pot in a 300 degree oven and cook until the beef becomes tender, about 1½-2 hours.While the soup is in the oven make the caramelized onions. In a large saute pan on medium low heat, melt the butter with the olive oil. Add the onions, thyme, marjoram and rosemary. Stir until incorporated. At this point, let the onions cook stirring every ten minutes or so. Continue to cook the onions until they become a deep golden brown. This will take 45-60 minutes. Add the balsamic vinegar and season to taste with salt and pepper. Set aside.When the beef soup is done cooking, stir in the onions.To assemble the soup. In 4-6 oven proof soup bowls add ¼ cup of the shredded cheese to the bottom of the bowl and ladle the soup over the cheese. Top the soup with another ½ cup of cheese. Place the soup under the broiler until a golden brown color is achieved.