diff --git a/CryptoExchange.Net/CryptoExchange.Net.xml b/CryptoExchange.Net/CryptoExchange.Net.xml
index d5c70b9..cf643e3 100644
--- a/CryptoExchange.Net/CryptoExchange.Net.xml
+++ b/CryptoExchange.Net/CryptoExchange.Net.xml
@@ -2928,3 +2928,148 @@
+System.Diagnostics.CodeAnalysis.AllowNullAttribute">
+
+ Specifies that is allowed as an input even if the
+ corresponding type disallows it.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Specifies that is disallowed as an input even if the
+ corresponding type allows it.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Specifies that a method that will never return under any circumstance.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Specifies that the method will not return if the associated
+ parameter is passed the specified value.
+
+
+
+
+ Gets the condition parameter value.
+ Code after the method is considered unreachable by diagnostics if the argument
+ to the associated parameter matches this value.
+
+
+
+
+ Initializes a new instance of the
+ class with the specified parameter value.
+
+
+ The condition parameter value.
+ Code after the method is considered unreachable by diagnostics if the argument
+ to the associated parameter matches this value.
+
+
+
+
+ Specifies that an output may be even if the
+ corresponding type disallows it.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Specifies that when a method returns ,
+ the parameter may be even if the corresponding type disallows it.
+
+
+
+
+ Gets the return value condition.
+ If the method returns this value, the associated parameter may be .
+
+
+
+
+ Initializes the attribute with the specified return value condition.
+
+
+ The return value condition.
+ If the method returns this value, the associated parameter may be .
+
+
+
+
+ Specifies that an output is not even if the
+ corresponding type allows it.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Specifies that the output will be non- if the
+ named parameter is non-.
+
+
+
+
+ Gets the associated parameter name.
+ The output will be non- if the argument to the
+ parameter specified is non-.
+
+
+
+
+ Initializes the attribute with the associated parameter name.
+
+
+ The associated parameter name.
+ The output will be non- if the argument to the
+ parameter specified is non-.
+
+
+
+
+ Specifies that when a method returns ,
+ the parameter will not be even if the corresponding type allows it.
+
+
+
+
+ Gets the return value condition.
+ If the method returns this value, the associated parameter will not be .
+
+
+
+
+ Initializes the attribute with the specified return value condition.
+
+
+ The return value condition.
+ If the method returns this value, the associated parameter will not be .
+
+
+
+
diff --git a/CryptoExchange.Net/RestClient.cs b/CryptoExchange.Net/RestClient.cs
index 048cf6c..a36e3b7 100644
--- a/CryptoExchange.Net/RestClient.cs
+++ b/CryptoExchange.Net/RestClient.cs
@@ -215,6 +215,7 @@ namespace CryptoExchange.Net
{
using var reader = new StreamReader(responseStream);
var data = await reader.ReadToEndAsync().ConfigureAwait(false);
+ log.Write(LogVerbosity.Debug, $"Error received: {data}");
responseStream.Close();
response.Close();
var parseResult = ValidateJson(data);
diff --git a/CryptoExchange.Net/SocketClient.cs b/CryptoExchange.Net/SocketClient.cs
index 77ea973..daf83c7 100644
--- a/CryptoExchange.Net/SocketClient.cs
+++ b/CryptoExchange.Net/SocketClient.cs
@@ -579,7 +579,7 @@ namespace CryptoExchange.Net
periodicEvent?.Set();
periodicEvent?.Dispose();
log.Write(LogVerbosity.Debug, "Disposing socket client, closing all subscriptions");
- UnsubscribeAll().Wait();
+ Task.Run(UnsubscribeAll).Wait();
semaphoreSlim?.Dispose();
base.Dispose();
}