Ok, so, I'm not real sure what you mean by "sessions on our side are handled by SQL"...
But, you have an app, I assume that connects via https, so its acting as a web agent (i.e. browser). When it connects to the virtual server on the load balancer a session is created for that connection, futher when the connection is proxied from the LB to the webserver and subsequently the applications, another session is created that the web/app servers manage.
So, to them it just appears as a single agent making multiple requests, and your probably making requests frequent enough from this same "agent" that the session doesn't idle long enough to timeout.
I don't know what kind of LB the other party has, but they will have to make and adjustment of some type to turn the idle timeout on your agent way down, or turn of affinity so each connection you make is treated as a separate connection.