Cómo descargar archivos usando UWP en c #

Soy un principiante en programación, y me preguntaba cuál es la forma correcta de descargar archivos en UWP. Ahora uso esto, pero solo funciona como el 50% del tiempo:

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();
    }
}

La excepción es: "Excepción no controlada en 0x750F6D7E (combase.dll en program.exe 0xC000027B; Se ha producido una excepción interna de la aplicación (parámetros: 0x16E73128, 0x00000001)".

Gracias por adelantado

Respuestas a la pregunta(1)

Su respuesta a la pregunta