Melt 3 tablespoons of butter in large boiling pot. Add the leeks, 1 cup of onions and cook over medium-low heat for about 3 minutes, until tender. Stir continuously to avoid burning. Add minced garlic and continue cooking for another 30 seconds.
Add chicken broth and potatoes. Bring to boil, cover and simmer gently for 30 minutes, until the vegetables are tender.
While the vegetables are cooking, preheat a large skillet with 1 tablespoons of butter. Add 1 cup of onions and saute over medium heat for 9-10 minutes, until translucent and golden brown. Add 1/4 tsp salt and 1/4 tsp black pepper when almost done. Remove from the skillet and set aside.
Using the same skillet, saute oyster mushrooms with 1 tablespoons butter or oil over high heat for 5-6 minutes. Turn heat to medium, add 1/4 teaspoon salt and 1/4 teaspoon ground pepper, and saute for another 3 minutes. Remove from the skillet and set aside.
Once the soup is done cooking, remove from the heat. Puree with a hand-held immersion blender until smooth. You can also puree the soup in a food processor in batches. Season with 1/2 tsp salt and 1/2 white or black pepper.
Ladle into soup bowls and garnish with caramelized oyster mushrooms and onions. Top with parsley and 1 tablespoon of freshly grated Parmesan cheese. Serve immediately.