JsonSerializationException on Home Timeline & others

Hi Linvi,
I Have received 37 counts of JsonSerializationException since putting the production code onto Tweetinvi 0.9.9.1 (upgraded from 0.9.8.2) about half an hour ago.
They have mostly been on the Home Timeline, but there has also been some on the User Timeline and Latest Messages Sent (Outbound Direct Messages).

Home Timeline:

2015-08-04 11:03:09 - TwitterRestPoller.Program: Error: Exception whilst fetching User Home Feed. Exception:
Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.IEnumerable`1[Tweetinvi.Core.Interfaces.DTO.ITweetDTO]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.
To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.
Path 'request', line 1, position 11.
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonConverter[] converters)
at Tweetinvi.Logic.JsonConverters.JsonObjectConverter.DeserializeObject[T](String json, JsonConverter[] converters)
at Tweetinvi.Controllers.Timeline.TimelineController.GetHomeTimeline(IHomeTimelineParameters parameters)
at TwitterRestPoller.Program.fetchUserHomeFeed(TwitterAccount user, Nullable`1 sinceId) in c:\Users\Josh Keegan\Documents\Visual Studio 2013\Projects\CommsManager\TwitterRestPoller\Program.cs:line 621
at TwitterRestPoller.Program.pollUserHomeFeed(TwitterAccount user) in c:\Users\Josh Keegan\Documents\Visual Studio 2013\Projects\CommsManager\TwitterRestPoller\Program.cs:line 585

User Timeline:

2015-08-04 10:52:14 - TwitterRestPoller.Program+<>c__DisplayClass1a: Error: Exception whilst fetching User Timeline. Exception:
Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.IEnumerable`1[Tweetinvi.Core.Interfaces.DTO.ITweetDTO]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.
To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.
Path 'request', line 1, position 11.
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonConverter[] converters)
at Tweetinvi.Logic.JsonConverters.JsonObjectConverter.DeserializeObject[T](String json, JsonConverter[] converters)
at Tweetinvi.Controllers.Timeline.TimelineController.GetUserTimeline(IUserTimelineQueryParameters queryParameters)
at TwitterRestPoller.Program.fetchUserTimeline(TwitterAccount user) in c:\Users\Josh Keegan\Documents\Visual Studio 2013\Projects\CommsManager\TwitterRestPoller\Program.cs:line 683
at TwitterRestPoller.Program.<>c__DisplayClass1a.<fetchUserTimelineAsync>b__19() in c:\Users\Josh Keegan\Documents\Visual Studio 2013\Projects\CommsManager\TwitterRestPoller\Program.cs:line 670

Hi Linvi,
It looks like it's trying to deserialise Rate Limit Exceeded messages as whatever the result would otherwise be (Tweets, Direct messages etc...).

I modified the latest version of TweetInvi so that JsonConvertWrapper.DeserializeObject catches the JsonSerializationException and creates a new Exception that also includes the raw JSON (basically the same as the patch I sent you the last time I had a problem
with JSON Deserialization).
With this, the log messages now look like: