Can you please provide details about the "timeouts" you are referring to? There are different kinds of timeouts. Are those timeouts exceptions coming from EasyUAClient methods?
In general, there are some serialized operations inside EasyUAClient-s. With one instance of EasyUAClient, or even multiple instances that are sharing the same connection to the OPC UA Server, these will be performed in a serial manner. It is possible to the .Isolated flag on the EasyUAClient objects, which prevents them from sharing the same connections, resulting (among other effects) in less inter-locking.
I'm currently writing a C# application that uses allot of asynchronous and multithreading, resulting in multiple instances of the EasyUAClient. This seems to be no problem for the SubscribeMonitoredItem, but I run into problems when I read the initial OPC values with a Read on initialization.
Now is my theory that these problems are the result of the blocking behavior of the synchronous reads (and possibly the already running writes), resulting in some unwanted timeouts.
So I really like to use asynchronous read and write operations in combination with the EasyUAClient, but I have trouble finding examples and the correct library part to provide this functionality
So in short:
Are there asynchronous examples using the EasyUAClient?
What part of the library provides the ReadAsync and WriteAsync operations?