What does the Connections Overview show you when these errors are encountered? Are all licenses being used up?
What methodology are you using to access the Platform SDK? .NET? A COM object representing a browser request? Straight URLs? Depending on how connections are being initiated, it sounds to me like each request is burning a license (just a guess). And even if you issue a specific "Logoff" request, the license will still be in use for 120 more seconds. So, you need to make sure whatever connection methodology you are using keeps using the same connection/license. The ServiceConnection object in the .NET libraries stays alive in such a way, and we use a global Visual Foxpro object in our Foxpro apps to keep using the same connection when doing many requests in a short time-frame. Otherwise we would also get the error you are describing.
Here is a thread on more about connections and timing, etc.:
And here is a thread about how I implement connections in Visual Foxpro (non.NET environment):
That second link doesn't get into the fact that we create a global instance of a request object and check to see if that exists before creating a new one. That makes sure every user is, at most, only using up one license at a time (per application, anyway).
Hope this helps!