Loading icons in two different sizes
I guess I was able to figure it out, not sure how I missed it but by simply adjusting the bg_DoWork the application loads twice as fast, as it only creates an Image once instead of twice.

    private void bg_DoWork(object sender, DoWorkEventArgs e)
    {
        int i = 0;
        Image tempImage;
        foreach (FileInfo fileinfo in IconFiles)
        {
            tempImage = Image.FromFile(fileinfo.FullName);
            imageListLarge.Images.Add(Path.GetFileNameWithoutExtension(fileinfo.Name), tempImage);
            imageListSmall.Images.Add(Path.GetFileNameWithoutExtension(fileinfo.Name), tempImage);
            IconLoaderBGWorker.ReportProgress(++i);
            Application.DoEvents();
        }
    }