書いていて違うんじゃないかと思って質問しました。
画像処理クラスのメソッドを同期的に UI スレッドで実行しているように見えますが、そうであれば違います。
画像処理クラスのメソッドで処理が終わるまで UI スレッドをブロックしてアプリがフリーズしたようになってしまいませんか?
こういった場合、スレッドでしょうか?
その意味が「非同期プログラミングで画像処理は別スレッドで行う」ということであればその通りです。
解決策は非同期アプリケーションにすることです。
Visual Studio 2015 でも .NET Framework 4.5 以降のフレームワークが使えるので、async / await を利用して比較的容易に非同期アプリケーションを開発できます。
具体例は以下の記事を見てください。IProgress インターフェースを利用しての進捗状況の表示方法も書いてあります。
WPF/Windowsフォーム:時間のかかる処理をバックグラウンドで実行するには?(async/await編)
https://atmarkit.itmedia.co.jp/ait/articles/1512/02/news019.html