.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Threading;
					
public class Program
{
	public static void Main()
	{
		 List<SimpleClass> seq = Enumerable.Range(0, 25).Select(x => new SimpleClass(){ OwnNumber = x, ActualNumber = x }).ToList();

        for (var i = 0; i < seq.Count(); i++)
        {
            var res = seq.Test();
            foreach (var item in res)
            {
                Console.WriteLine($"{item.OwnNumber} : {item.ActualNumber}");
            }
        }
	}
}

public class SimpleClass
{
    public int OwnNumber { get; set; }
    public int ActualNumber { get; set; }
}

public static class SimpleClassHelper
{
	private static SimpleClass _sharedSimpleClassHelper;
	
    public static int Apply()
    {
        int z = 1;
        for (var i = 0; i < 1000; i++)
        {
            z += i;
        }
		
        return _sharedSimpleClassHelper.ActualNumber;
    }

    public static IEnumerable<SimpleClass> Test(this IEnumerable<SimpleClass> sc) =>
        sc.AsParallel().Select(s => 
		{
			_sharedSimpleClassHelper = s;
			return new SimpleClass
			{
				OwnNumber = s.OwnNumber,
				ActualNumber = Apply()
			};
		});
}
;