private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { Tuple <Bitmap, int> options; SequenceBuilder builder; options = (Tuple <Bitmap, int>)e.Argument; builder = new SequenceBuilder(options.Item1, options.Item2); try { builder.Build(); e.Result = builder; } catch { builder.Dispose(); throw; } }