S2S OAuth Token invalid before 3600 seconds are over

Do you have multiple instances of your application running at the same time (e.g. in a clustered environment)? You might be running into the undocumented “feature” where the previous OAuth token is invalidated when you request a new one.