I2C Communication Between STM32F3 and SSD1306
In general, internal pull-up\down resistor in ICs are usually what is called 'weak' pull up\down. This means that the resistor value doing the pulling is large (I would say typically >50kohm, and you can find the exact value in the data-sheet).
This can contribute to 2 factors:
1. current through the pull up which impacts the time it takes the board and chip capacitance to charge (signal rise time)
2. current carrying capacity of the relative pin. Smaller resistance values allows greater currents which might damage the IC  

Additionally, you have to consider logic levels required between your STM32 and the display controller. If they are working in different logic levels (eg. 3.3V and 5V) it is possible that your signals don't cross the required thresholds.  

Lastly, if you post your schematics it will be much easier to comment, rather then just general comments.