If l find a station that is ‘acting up’ as you describe, I do the following:
If, as you say, bikes don’t release but then one all of a sudden does, I’ll wait, as the app will say, for 15 to 30 seconds, ‘Unlocking Bike…’
I’ll stay at the station until the app says, either:
‘Ride In Progress’ in which case l leave for a drop off station, or
’Bike Unavailable’ in which case the ride doesn’t register and I’ll just re-dock the bike and try to check it out again. That way you won’t waste time on a ride that the system thinks never started.
I’ll only put in the extra time and effort if the point value is large, which it often is with wonky stations.