Here are initialization values I used in my code for the similar display.
static const uint8_t commands[] =
{
ST7789_CMD_MADCTL, 1, 0x00,
ST7789_CMD_COLMOD, 1, 0x05,
ST7789_CMD_PORCTRL, 5, 0x0c, 0x0c, 0x00, 0x33, 0x33,
ST7789_CMD_GCTRL, 1, 0x35,
ST7789_CMD_VCOMS, 1, 0x19,
ST7789_CMD_LCMCTRL, 1, 0x2c,
ST7789_CMD_VDVVRHEN, 1, 0x01,
ST7789_CMD_VRHS, 1, 0x12,
ST7789_CMD_VDVS, 1, 0x20,
ST7789_CMD_FRCTRL2, 1, 0x0f,
ST7789_CMD_PWCTRL1, 2, 0xa4, 0xa1,
ST7789_CMD_PVGAMCTRL, 14, 0xd0, 0x04, 0x0d, 0x11, 0x13, 0x2b, 0x3f, 0x54, 0x4c, 0x18, 0x0d, 0x0B, 0x1f, 0x23,
ST7789_CMD_NVGAMCTRL, 14, 0xd0, 0x04, 0x0c, 0x11, 0x13, 0x2c, 0x3f, 0x44, 0x51, 0x2f, 0x1f, 0x1f, 0x20, 0x23,
ST7789_CMD_INVON, 0,
ST7789_CMD_SLPOUT, 250,
};
With those settings and a known good display, I saw no artifacts or burn-in after running for hours.