タイトルの通りの現象に困っています

サーバーは Windows Server 2012 R2
開発環境はVisual Studio 2015 + ASP.NET (.NET Framework 4.6.2)
です

ざっくり現象を書くと
Unmanaged dllを使ったWeb APIを呼ぶと固まってしまう
同様の処理をCのCGI(exe)で実行するとちゃんと動く
です

いろいろ試した結果を含めて詳細を以下に書きます


  1. サードパーティ製ライブラリを2種類使用するUnmanaged dll(64bit)を作成しています(このDLLを①とします)

  2. C言語のコンソールアプリで①をリンクして関数を呼ぶものを作りました(②)
    MVCのWeb Api 2コントローラーを作成して①を呼ぶものを作りました(③)

  3. ②,③はサーバーに配置してどちらもIISを通して呼ぶようにしました

  4. サーバーを再起動してサービスが立ち上がったと思われるタイミングで②を呼ぶと常識的な時間で応答を返してくれました

  5. 同じことを③で試すと応答がかえって来ません(クライアント側のタイムアウトや、アプリケーションプールのPingエラーで強制終了させられる)
    この状態は30分ほど待っても改善しません(それ以上は待っていないのでわかりません)

  6. ②を呼んだあと③を呼ぶと1,2回くらいの試行で応答を返してくれます

  7. 一度でも応答を返すとあとは普通に応答を返します
    iisresetコマンド等で再起動しても返します

  8. サーバーを再起動すると元(応答を返さない状態)に戻ります

  9. 「起動が遅い」等で調べると<generatePublisherEvidence enabled="false"/>が出てきたので試してみましたが変わりませんでした(v4以降は関係ないという記述もありましたし、今はサーバーをインターネットにつないでいる状態ですが変化なしです)

  10. ①の各ステップでログを出力するようにしたところ、サードパーティ製ライブラリの初期化周辺で止まっているようなのですが、止まる箇所は固定ではありませんでした(ログは毎回flushして閉じているので多分止まる直前を示していると思います)


という感じでして途方に暮れています
原因や回避策があれば教えていただけますでしょうか