If you would have sent the stack trace, then I would be able to give a more definite answer, but still, it looks pretty unlikely that the exception is thrown from one of these 2 lines, and I'll explain why shortly. My guess is that the exception is thrown by a later operation.
First, you say that the language does gets selected, which means that the last click was actually performed. But that's not the only reason.
Each of these 2 lines perform 2 calls to WebDriver: a call to IWebDriver.FindElement, which returns IWebElement, followed by a call to IWebElement.Click on the object that was returned from the first call. Note that StaleElementReferenceException can only be thrown from methods on IWebElement, which means that IWebDriver.FindElement succeeded. Now, StaleElementReferenceException means that the element which was originally found was later removed from the page. Because you don't perform any operation between the 2 calls, this is very unlikely.
The only case in which this can happen is if the page performed some kind of an asyc operation that removed the element between these 2 method calls of each line. But then again, in this case it wouldn't make sense that the language was selected correctly.
For the small chance that I'm still wrong, I'll give you a tip that will help you investigate the root cause further. If you catch the exception and examine the IWebDriver.PageSource property, you can see the state of the DOM and see whether the element was actually removed or not (at least in Chrome). if you examine it also before the call to FindElement you'll be able to compare them and see if something has changed. If you save the value of the PageSource property to a .html file, then you can open the file in the browser and examine the DOM in the Dev Tools. This should help you understand why you're getting this exception.