They doesn't use any long polling method but periodical fetching method for getting pending CI jobs. This causes massive lock on their database, and once it bring down the server entirely.
Just wanted to let you know that we introduced long pooling with GitLab Runner version 1.9.0 (~ three months ago).
Also you might want to take a gander at https://about.gitlab.com/2017/04/10/upcoming-runner-changes-... We're throttling older runners.