Mega256 and Nokia 3310 LCD -- display currupts over time... pics and code inside

/*
 * PCD8544 - Interface with Philips PCD8544 (or compatible) LCDs.
 * Copyright (c) 2010 Carlos Rodrigues <cefrodrigues@gmail.com>
 *
 * ReadSHTxValues
 * Read temperature and humidity values from an SHT1x-series (SHT10,
 * SHT11, SHT15) sensor.
 * Copyright 2009 Jonathan Oxer <jon@oxer.com.au>
 * www.practicalarduino.com
 *
 * DallasTemperature Library
 * http://milesburton.com/index.php?title=Dallas_Temperature_Control_Library
 *
 * Modified for use by Clay J. LeBlanc
*/

#include <OneWire.h>
#include <DallasTemperature.h>
#include <PCD8544.h>
#include <SHT1x.h>

#define ONE_WIRE_BUS 2
#define dataPin 9
#define clockPin 11

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
SHT1x sht1x(dataPin, clockPin);
static PCD8544 lcd;
DeviceAddress insideThermometer;

void setup(void)
{
  lcd.begin(84,48);
  sensors.begin();
  sensors.setResolution(insideThermometer, 9);
  if (!sensors.getAddress(insideThermometer, 0)); 
}


void printTemperature(DeviceAddress deviceAddress)
{
  float tempC = sensors.getTempC(deviceAddress);
  float temp_f;
  float humidity;
  
  temp_f = sht1x.readTemperatureF();
  humidity = sht1x.readHumidity();
  
  lcd.setCursor(0, 0);
  lcd.print("--DS18B20");
  lcd.setCursor(0, 1);
  lcd.print(DallasTemperature::toFahrenheit(tempC));
  lcd.print(" F");
  lcd.setCursor(0, 3);
  lcd.print("--SHT15");
  lcd.setCursor(0, 4);
  lcd.print(temp_f);
  lcd.print(" F");
  lcd.setCursor(0, 5);
  lcd.print(humidity);
  lcd.print(" % R/h");
  delay(2000);
}

void loop(void)
{ 
  sensors.requestTemperatures();
  printTemperature(insideThermometer);
}

Also, How would I be able to use one lcd.print command to display both the variable, and the text in the quotes?!

Thanks in advance... I'll post another picture of more garbled text as soon as I see it.

--I think I should say that I'm powering it with the recommended 3.3v, however, the data/logic is still 5v... but I have all 5 pins wired through 100k ohm resistors.. I'm halfway believing this is safe, and halfway thinking it could be the culprit of the problems. I do not have a level shifter, however.

EDIT: I'd also like to add that it seems like the whole display stops working after about 4 hours... but springs back to life when I reset it. Still confused as to why this happens