SSRS Blocking Processes
Unfortunately there is not much you can do about this, this behaviour is by design. The problem manifests itself when user sessions time out because the report is taking too much time. You can try to improve the reports, or configure the session timeout to be a bit longer than the longest running report

See this link for an explanation about the why and some ways to work around it.

You can increase the session timeout as some sort of workaround, the script is documented in the article.

From the article:


  However, there is one scenario where the ping doesn't work, and that is during the inital report execution.  The problem is that while the report is being executed, the user's session is locked (as we are populating the user's temporary snapshot) and the keepalive from the viewer control will be blocked.  Normally, this is not a problem because report executions aren't supposed to take a long time and quite often they finish before the session timeout hits.  Unfortunately, there are some cases where reports (for whatever reason) take an incredibly long time to execute.  What happens in this case is that the user's session is aged out while the report is being executed, resulting in all sorts of strange behavior.