When I'm trying to re-use the same WebRequest for multiple subsequent API calls. It fails with error.
I discovered that the Sub Prepare() duplicates headers every time Client.Execute() is called.
I fixed it by modifying the Prepare() with code to update the header [key,value] in case the key is already present.