At first sight, I can't find any blocking operation that could affect "subscribe", so I can't understand why those "subscribe" operations are so slow.
Do you see a steady 100% CPU level on the machine during that period?
Please, try to replicate the case and produce a thread dump (if possible) on the Remote Server just before the timeout notifications appear on the Proxy Adapter, to see what happens.