To the frontpage...  
   

   
Instead of using an already existing image resizer, I decided to make my own:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.IO;
using System.Drawing.Imaging;
using System.Diagnostics;
 
namespace ConsoleApplication1
{
    public class ImageResizer
    {               
        /// <summary>
        /// Run this
        /// </summary>
        /// <param name="inputFolder">where the input jpgs are located, eg. C:\folder1</param>
        /// <param name="outputFolder">where the output jpgs will be stored, eg. C:\folder2</param>
        /// <param name="prefix">prefix on the output filename</param>
        /// <param name="quality">output img quality</param>
        /// <param name="resizePercent">eg. 0.33 will scale the image down to 33% of original size</param>
        public static void Run(string inputFolder, string outputFolder, string prefix = "r", long quality = 100L, float resizePercent = (float)0.33)
        {
            if (inputFolder == outputFolder)
                throw new ArgumentException("inputFolder == outputFolder");
 
            if (!Directory.Exists(outputFolder))
                Directory.CreateDirectory(outputFolder);
 
            ImageCodecInfo jpegCodec = ImageCodecInfo.GetImageEncoders().First(e => e.MimeType == "image/jpeg");
            if (jpegCodec == null)
                throw new ArgumentNullException("jpeg codec missing.");         
 
            EncoderParameters encoderParams = new EncoderParameters(1);
            encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, quality);
 
            var files = Directory.GetFiles(inputFolder).Where(f => f.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) || f.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase));
 
            Stopwatch sw = new Stopwatch();
            sw.Start();
 
            files.AsParallel().ForAll(f =>
                {
                    Console.WriteLine("Resizing: " + f);
                    using (Image i = Image.FromFile(f))
                    using (Bitmap b = ResizeImage(i, resizePercent))
                    {
                        string outputFileName = prefix + Path.GetFileName(f);
                        string outputPath = Path.Combine(outputFolder, outputFileName);
 
                        b.Save(outputPath, jpegCodec, encoderParams);
                    }
                }
            );
            sw.Stop();
            Console.WriteLine(files.Count() + " jpg images done in " + (sw.ElapsedMilliseconds) + " milli seconds.");
            Console.ReadKey();
        }
 
 
        private static Bitmap ResizeImage(Image inputImage, float resizePercent)
        {
            int resizedWidth = (int)(inputImage.Width * resizePercent);
            int resizedHeight = (int)(inputImage.Height * resizePercent);
 
            Bitmap output = new Bitmap(resizedWidth, resizedHeight);
            using (Graphics resizedGraphics = Graphics.FromImage((Image)output))
            {
                resizedGraphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
                resizedGraphics.DrawImage(inputImage, 0, 0, resizedWidth, resizedHeight);
            }
 
            return output;
        }
    }
}