Общий аргумент в пределах ThreadLocal
указывает тип возвращаемого значения задачи, которая должна быть выполнена.Нет необходимости указывать какой-либо размер, просто верните из него массив:
bar = new ThreadLocal<int[]>(() => new int[10]);
Это так же, как если бы у вас был обычный метод, который возвращал бы массив:
int[] DoSomething()
{
return new[10] { ... };
}