سلام
من هم با نظرات کاربر mehdi6755 موافق هستم!
برای ارسال مقادیر به شاخه، بهتر است قبل از شروع شاخه مقادیر را با کمک (RunWorkerAsync(Object argument ارسال کنید و در داخل رویداد مقادیر را از e.Argument تحویل بگیرید.

و برای فرستادن مقادیر از رشته به برنامه اصلی هم میتوانید از متد ReportProgress و رویداد ProgressChanged و یا e.Result استفاده کنید.

برای چک کردن وضعیت و شروع مجدد هم میتوانید از خصوصیات CancellationPending و IsBusy کمک بگیرید.
البته راه های دیگری هم دارد، ولی معمولاً با همین روشهای رسمی تر و قانونی تر مشکل برطرف میشود! و نیز این روشها پرسرعت هم هستند.

البته از کاربر kiani.mehdi هم تشکر میکنم، چون من اصلاً آن مشخصه را ندیده بودم!!!!!؟؟؟؟؟!!!! ولی به نظرم جالب نیست!