Okay, finally been able to figure it out. Apparently you need to add the following metdata to the GIF to get it to loop:
BitmapPropertySet properties = await encoder.BitmapProperties.GetPropertiesAsync("/appext/Data");
properties = new BitmapPropertySet()
{
    {
        "/appext/Application",
        new BitmapTypedValue(Iso8859.Default.GetBytes("NETSCAPE2.0"), Windows.Foundation.PropertyType.UInt8Array)
    },
    { 
        "/appext/Data",
        new BitmapTypedValue(new byte[] { 3, 1, 0, 0, 0 }, Windows.Foundation.PropertyType.UInt8Array)
    },
};
await encoder.BitmapProperties.SetPropertiesAsync(properties);
If you don't have an Iso8859 in your project, simply place the ascii code for "NETSCAPE2.0" as a byte array in there.