Currently (since #1152) we retry on all failed uploads, regardless of the response code. Ideally, for some responses (like 413), we know retrying won't help, so it'd be better to just drop immediately.
We should follow the network failure handling as outlined here https://develop.sentry.dev/sdk/expected-features/#dealing-with-network-failures
We could rewrite the ExecuteSynchronously implementations to allow for a second int* argument that we can populate with the response status code.