This will work too. F.e. we use a pool of service proxy objects in the Olympia-based session and event managers.
Remoting SDK provides object pool base classes that make this easy to implement. F.e. go to the OlympiaServerSessionManager.cs sources. There a connections pool is defined as
this.fConnectionPool = new CustomObjectPool<IOlympiaSessionManager>(this.CreateSessionManagerHandler, PoolBehavior.Wait, 0, 10, 1000);
and connections are later used from different threads as easy as
serviceConnection = this._connectionPool.AcquireInstance();
....Perform server call