Preheat oven to 350 and prepare a baking dish by lightly greasing it. If using a cast iron baking dish, make sure it's well seasoned or lightly rub it with some oil.
Preheat a medium saute pan over medium-high heat. Add vegetable oil.
Cut off the dark green leaves off the leek and the very bottom by the roots, discard what you cut off or save it for making homemade vegetable stock. Wash the leeks and cut them length-wise in half. Slice each leek half lengthwise into thin strips and then cut it across the width. This will create a small dice.
Wash and slice mushrooms as thin as you can. Set aside.
Add diced leek to the pre-heated saute pan and cook for a couple of minutes. Add sliced mushrooms. Season with some salt and pepper and mix well. Saute until leek and mushrooms are nicely browned.
Meanwhile, combine cream cheese and sour cream in a mixing bowl. Beat with a mixer until smooth.
Grate Gruyere cheese and add 3/4 of it to the cream cheese. Mix well.
Add cooked mushrooms and leek to the cheese mixture. (You can leave some of the mushroom and leek mixture for topping later.) Mix well. Season with a little more salt and pepper.
Transfer the dip mixture into a baking dish and spread it evenly.
Top off with remaining grated Gruyere cheese.
Bake for 15-17 minutes. (Top off with some mushroom and leek mixture if you want.)