Проблема с многопоточной работой COM-объекта

Когда мы обращаемся к библиотеки с множества потоков и в каждом потоке выполняем:
KalkanCryptCOM.Init()
KalkanCryptCOM.Verify()
KalkanCryptCOM.Finalize()

То получаем ошибку:
Detail="ERROR 0x8f00101: Get PKI data properties - library not initialized,

Я полазил по старому форуму и нашел похожую проблему:
https://pki.gov.kz/forum/7-dlya-razrabotchikov/5103-oshibki-pri-rabote-s-kalkancryptcom-v-asp-net.html

Проконсультировался с экспертами в области разработки COM, мне сказали что это возможно из за отсутствия apartments, https://devblogs.microsoft.com/oldnewthing/20191125-00/?p=103135

Ниже представлен код:
for (int i = 0; i < 100; i++)
{
Task.Factory.StartNew(() =>
{
using (var service = new KalkanCryptoProvider())
{
var expectedValue = service.Verify(Convert.FromBase64String(_test_data_in_base_64), _test_data_in_base_64_cms);
Assert.True(expectedValue);
}
});
}

public class KalkanCryptoProvider : IDisposable, ICryptoProvider
{

public KalkanCryptoProvider()
{
_kalkanCryptCom = new KalkanCryptCOM();
_kalkanCryptCom.Init();
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}

protected virtual void Dispose(bool disposing)
{
if (disposing)
{
_kalkanCryptCom.Finalize();
Marshal.FinalReleaseComObject(_kalkanCryptCom);
}
}

~KalkanCryptoProvider()
{
Dispose(false);
}

public bool Verify(byte[] data, string cms)
{
var inData = Convert.ToBase64String(data);
var flags = KALKANCRYPTCOM_FLAGS.KC_IN_BASE64 | KALKANCRYPTCOM_FLAGS.KC_SIGN_CMS | KALKANCRYPTCOM_FLAGS.KC_OUT_BASE64;
_kalkanCryptCom.VerifyData("", (int)flags, 0, inData, cms,
out string outData, out string verifyInfo, out string outCert);

        _checkError();

        var normalizedInData = _splitByLines(inData); // потому что калкан
        return outData.Trim() == normalizedInData.Trim();
    }

}

Добрый день!
На данный момент параллельный запуск библиотеки KalkanCryptCOM и дальнейшая работа с ней невозможны.