The Canadians dominated the second, outshooting Korea 9-1 and 21-12 overall.
McGregor finished with two goals and an assist for Canada as goaltender Dominic Larocque stopped 11 shots for his first win.
Jong-Kyung Lee had the lone goal for Korea.
The United States needed overtime to claim the gold medal, edging Russia 2-1 in the championship game.
Josh Pauls scored the winner at 10:19 of the extra period while Kevin McKee put the Americans on the board midway through the second period.
Ivan Berdnik gave Russia a 1-0 lead at 11:42 of the first.
Steve Cash only had to make eight saves for the U.S. Evgeny Plotnikov stopped 18 shots for the Russians.
Russia edged Canada 2-1 in semifinal action while the Americans dispatched South Korea 8-0.