It is not the background check that takes time, it's the due date they mark your application with. For instance, they run a preliminary background check (answer actually comes back in seconds) and they receive a warning or something of that sort (probably due to your country of origin, a lot of travels, name mismatch, related to someone with troubles, etc), so they call for a more detailed one. However, at the same time they call for the detailed check, and for some strange different reason with each agent, they mark your application for future due processing in 1 month, 2 monthjs, 6 months, 8 months, 1 year, etc. This way, your application sits in a queue now waiting for its turn till the due date comes, even though the result of detailed background check has come through already. Another agent picks up your application on the due date, but realizes that something extra still needs to be done, issues another background check and marks your application with another due date in 6 months, 1 year, and so on and so on.
Reality is some agents take their job more seriously than others. My ATIP notes show that the last time my application was updated by anyone was last year in May. Only thing pending was security check, and they decided to mark my application for the next due date this upcoming March. Does that mean it will get processed and I get called for my test? Not necessarily, since my ATIP notes show that they already scheduled me last year in March for a test, but for some reason (without any mention why on the notes), the new agent decided to cancel that request and mark my due date for next year.
Can I do anything about this? So far I tried everything I can, I am frustrated, angry, and sad. There is nothing we can do, we are the mercy of some agent's hands out there who will one day decide to speed up the process, or keep postponing our processing dates.
Yet, I still wish good luck to all of us still waiting for a long time.