The GetObjectResponse contains any header or metadata returned by S3. GetObjectResponse's contain resources that need to be disposed. The recommended way for handling GetObjectResponse objects is wrapping them in using clauses, like so: using (GetObjectResponse response = s3Client.GetObject(request)) { ... } This will ensure that any network resources, file streams and web headers have been returned back to the system for future use.