Weirdest problem - catch doesnt work - C#