Please note that downloading whole message can take a lot of time. It also downloads attachments which can be large.
I don't know what you are trying to achieve, but consider to:
- List messages using
EwsItemFields.Default message field value.
- You can even use paged output.
- Retrieve more information about particular message using GetMessageInfo method sequentially when needed.
- Download whole message only when it is really necessary.
If you are still thinking that our implementation is notably slower than other .NET managed implementation, please let us know.