Question
How can Rpi Pico Micropython Talk To I2C LCD SSD1306?
/ to continue, ...
Answer
Update 2021apr08hkt1233
I found the 0.91" OLED a bit tricky to detect. I need to make the the wiring short, not to load two or more devices. I also found I2C Bus 1 better than Bus 1. Anyway, I used Tom's Hardware's short program and found it OK, though not stable.

Short Answer
It is pretty likely that Pico Thonny Python's error message "OSError: 5" is similar to Rpi Os's "OSError: [Errno 121] Remote I/O error"
Errno 121 usually occurs when running an I2C python program with the following situation:
2.1 The hardware wiring connection is bad, eg,
2.1.1 Forget to plug/connect the cable,
2.1.2 Too long cabling, eg, over 30cm,
2.1.2 I2C frequency too high, over 400kHz,
2.1.3 I2C device, eg. I2C I2C MCP23017, which is sensitive to noise,
2.1.4 I2C bus overloaded, with more than 4 devices, causing bus capacitance over 400pF.
/ to continue, ...
Long Answer
/ to continue, ...
References
(1) Solomon OLED Display Catalog - Solomon Tech
(2) Solomon OLED Driver IC Product Sheet - Solomon Tech
(3) Solomon SSD1306 Product Sheet - Solomon Tech
(4) SSD1306 OLED Display Module Product Spec - Denstron/Farnell
(5) SSD1306 Tutorial - Components101
(6) How to Use an OLED Display With Raspberry Pi Pico - Les Pounder, Tom's Hardware, 2021feb28
(7) Luma.OLED API Doc for SSD1306, SSD1309, SSD1322, SSD1325, SSD1327, SSD1331, SSD1351 and SH1106API OLED
(8) Rpi3B SSD1306 OLED I2C Interface Problem (with debugged Hello World program) - tlfong01 Rpi.SE Asked 2019dec21, Viewed 799 times
(9) Raspberry Pi Pico + 128x64 I2C SSD1306 OLED (MicroPython) Youtube
(10) Raspberry Pi Pico + 128x64 I2C SSD1306 OLED (MicroPython) Tutorial
(11) SSD1306 OLED Display Module Catalog - AliExpress
/ to continue, ...
Appendices
Appendix A - Old SSD1306 Setup Record

Appendix B - Installing Rpi Pico MicroPython OLED SSD1306 Library - Tom's Hardware
(6) How to Use an OLED Display With Raspberry Pi Pico - Les Pounder, Tom's Hardware, 2021feb28
Click on Tools > Manage Packages to open Thonny’s package manager for Python libraries.
Type “ssd1306” in the search bar and click “Search on PyPI”.
Click on “micropython-ssd1306” in the returned results and then click on Install. This will copy the library to a folder, lib on the Pico.
Click Close to return to the main interface.
Note - Only partial installed, with error code 1

Update 2021apr03hkt1528
I installed ssd1308 second time and had good luck.

Appendix C - Pico version of Rpi4B OS buster's command "i2cdetect -y 1"
Introduction
I am using the Pico Thonny Python function to detect and list the I2C devices on I2C bus 1 and 2. The following sample output show two i2c pcf8574 devices are detected.
Note - The Thonny sample is badly formatted in RpiSE here. So I am going to use PenZu to write a better formatted file (to be include in next Appendix D).
MicroPython v1.14 on 2021-02-02; Raspberry Pi Pico with RP2040
Type "help()" for more information.
%Run -c $EDITOR_CONTENT
Begin scanI2cBuses(), tlfong01 2021apr03hkt1431, ...
Begin testPcf8574(), ... >>>>>>>>>>
*** Set up I2C bus list [i2cBus0, i2cBus1] ***
*** I2C Bus List Config ***
I2C Bus Num = 0 Bus nick name = Amy Frequency = 100 kHz sdaPin = 0 sclPin = 1
I2C Bus Num = 1 Bus nick name = Betty Frequency = 400 kHz sdaPin = 2 sclPin = 3
*** I2c Device Dict ***
i2cDevNum = 0 DeviceName = PCF8574 #1 NickName = Connie I2cBusNum = 0 I2cDevAddr = 0x23
i2cDevNum = 1 DeviceName = PCF8574 #2 NickName = Daisy I2cBusNum = 1 I2cDevAddr = 0x24
i2cDevNum = 2 DeviceName = LCD2004 #1 NickName = Emily I2cBusNum = 0 I2cDevAddr = 0x27
i2cDevNum = 3 DeviceName = LCD1602 #1 NickName = Fanny I2cBusNum = 1 I2cDevAddr = 0x22
*** Scan and print I2C devices I2C bus list [i2cBus0, i2cBus1] ***
I2C Bus Num = 0 I2cDeviceList = 0x23
I2C Bus Num = 1 I2cDeviceList = 0x24
End testPcf8574(). >>>>>>>>>>
End scanI2cBuses(), tlfong01 2021apr03hkt1431, ...
/ to continue, ...
Appendix D - Full program listing of I2C Bus Scan program discussed in Appendix C above.
Pico I2C Bus Scan Program v0.1
Appendix E - MicroPython ssd1306.py Listing v0.1
MicroPython ssd1306.py Listing v0.1
Notes
Windows 10 Thonny Program and Data Folder Locations:
Program Folder = c: > user > AppData > Local > Programs
> Thonny > Lib > site-packages > thonny
Data Folder = c: > user > AppData > Roaming > Thonny
This ssd130.6py is only 150 python statement long, and contains two classes, one for I2C, an another for SPI.
Appendix F - Rpi4B Python Hello World Program for SSD1306
(8) Rpi3B SSD1306 OLED I2C Interface Problem (with debugged Hello World program) - tlfong01 Rpi.SE Asked 2019dec21, Viewed 799 times
