The default timeout value(s) and how they are set differ between WCF and remoting, but are always set on the communications channel, not per individual request.
With WCF, timeouts are extremely configurable – there are separate timeout settings for send, receive, inactivity, open and close. Generally, the SendTimeout defaults to 1 minute, and the ReceiveTimeout defaults to 10 minutes. Within DevForce, these values can be overridden by configuring communications using an app.config.
With remoting, there’s one timeout value for sending/receiving on the channel, and the value apparently defaults to infinite. The value can also be configured using an app.config file.
Our async RPC implementation (which is not the same as our Push implementation) uses the same communications channel as is used for all other client to PersistenceServer calls. In WCF we open a “channel” to each PersistenceServer (there will be one PS per data source extension).