Como baixar arquivos usando UWP em c #

Sou iniciante em programação e queria saber qual é a maneira correta de baixar arquivos no UWP. Agora, uso isso, mas funciona apenas 50% das vezes:

public async Task StartDownload()
{
    try
    {
        StorageFile sf = await DownloadsFolder.CreateFileAsync(title.Text, CreationCollisionOption.GenerateUniqueName);
        downloadFolder = (await sf.GetParentAsync()).ToString();
        HttpClient client = new HttpClient();
        byte[] buffer = await client.GetByteArrayAsync(inputURL);
        using (Stream stream = await sf.OpenStreamForWriteAsync())
        {
            stream.Write(buffer, 0, buffer.Length);
        }
        path = sf.Path;
    }
    catch (Exception e)
    {
        MessageDialog dialog = new MessageDialog("Sorry, something went wrong...", "An error...");
        await dialog.ShowAsync();
    }
}

A exceção é: "Exceção não tratada em 0x750F6D7E (combase.dll no program.exe 0xC000027B; Ocorreu uma exceção interna ao aplicativo (parâmetros: 0x16E73128, 0x00000001)."

desde já, obrigado

questionAnswers(1)

yourAnswerToTheQuestion