Milroy played in the junior hockey in the Western Hockey League for the Swift Current Broncos. He was drafted in the second round, 37th overall, by the Montreal Canadiens in the 2001 NHL Entry Draft. After a few seasons with the Hamilton Bulldogs of the AHL, Milroy was recalled by the Montreal Canadiens in February 2007 and played 5 games with the team gathering 1 point (an assist). He was reassigned to Hamilton on February 25, 2007, where he remained until the end of the 2007–08 season.
Following a single season in the Germany with ERC Ingolstadt, Milroy returned to North America and signed a one-year contract with the Minnesota Wild on July 17, 2009. After playing the duration of the 2009–10 season with the Wild's AHL affiliate, the Houston Aeros, Milroy again ventured to Europe signing a one-year contract with BK Mladá Boleslav of the Czech Extraliga on September 2, 2010.[2]
With only 6 points in 20 games with Boleslav during the 2010–11 season, Milroy left to commence his second spell in the DEL with Krefeld Pinguine.[3] Milroy finished second on Krefeld with 8 postseason points to earn a one-year extension to remain in Krefeld on May 13, 2011.[4]