I would add that this piece of code:
Actions action = new Actions(_driver);
action.KeyDown(Keys.Control).MoveToElement(body).Click().Perform();
will not release CTRL key in the keyboard what can cause openning new tab in same window if this piece of code is running in a loop.
So right version is:
Actions action = new Actions(_driver);
action.KeyDown(Keys.Control).MoveToElement(body).Click().KeyUp(Keys.Control).Perform();