Made the same mistake as Fincher's Dragon Tattoo (spoilers)
Fincher cast Stellan Skarsgard as Martin Vanger, a seemingly minor character in the story. Why would he cast such an actor for a minor role? Because he's actually the killer, not a minor character.
In The Snowman, they could have cast ANYONE to be Matthias, but they chose Val Kilmer. Why would someone who was ever A-list be in such a minor role? Doesn't make sense, right? Oh wait, Matthias is the killer the whole time.