Yes.
The event object is meaningful after a call to pollEvent returns true. Aside from that, it's probably just going to "remember" its previous value. With the code you have right now, it's probably becoming a MouseReleasedEvent when you release the mouse and then remaining that type for several frames where no events occur, making your MouseClick function print several times (of course, it's actually undefined behavior, so this is only one possible explanation).
The correct way to handle events is to do all of the initial processing in the while(pollEvent) loop, like this:
sf::Event event;
while (renderService.Window.pollEvent(event))
{
if (event.type == sf::Event::Closed) {
renderService.Window.close();
} else if (event.type == sf::Event::MouseReleased) {
MouseClick(event);
} else if (event.type == sf::Event::MouseMoved) {
MouseMovment(event);
}
}
Update();
Draw();
It's up to you whether you immediately respond to the event with a MouseClick() function or simply set a hasMouseBeenClicked flag to be processed later in the game loop, but any code involving "event.type == sf::Event::..." needs to be in that while(pollEvent) block.