ADC STM32L476RG : Why do I have an offset when connected to 0V?

I'm working on a software solution which set the Pin PC2 to "reset state" if my input signal (connected to ADC) is above 2V.

I testing my code with STM32 Studio to watch in real time the digital output of my ADC.

Here is how i configured the ADC1 :

  hadc3.Instance = ADC1;

sConfig.Rank = 1;
sConfig.Offset = 0;


I can proper retrieve the output number of my ADC with DMA but I've an electronic problem I think :

In Nucleo STM32L476-RG, the ADC1 Channel 1 & 2 are connected to the pin PC0 and PC1.

When I connect the pin PC1 to the STM32L4 GND and the pin PC0 to the 3.3V, i can retrieve the 4095 value from the ADC, that's good.

But, when I connect the pin PC0 to GND or a 0V source, the ADC should return me 0 value but it don't, it return 1981 value.

For resume :

Input of ADC1 : 3.3V | Output of ADC1 : 4095 | Config : PC1 on GND ; PC0 on 3.3V
Input of ADC1 : 0V | Output of ADC1 : 1981 | Config : PC1 on GND ; PC0 on 0V/GND

I don't know why i've got this Offset. I've read the datasheet a thousand of times, STMicroElectronics mention a 0V Reference which called VSSA or VREF- but i don't understand how to connect my Pins.

The only pins which i use is the PC0 and PC1. Should I connect other PIN to a ground or anything? Someone had this problem before?