Actually for anyone who needs this, after a little bit of experimenting, and based on tips above, the following works. Starting with pdf data in a string:
dim d as CGDataProviderMBS = CGDataProviderMBS.CreateWithData(PDFstring)
dim p as CGPDFDocumentMBS = CGOpenPDFDocumentMBS(d)
dim r as CGRectMBS=CGMakeRectMBS(0,0,myCanvas.Width,myCanvas.Height)
self.pdfPicture = self.TrueWindow.BitmapForCaching(r.Width,r.Height)
then in myCanvas.Paint:
g.DrawPicture(self.pdfPicture, 0, 0)
Produces results even better than a pdf rendered in Preview.app. No scaling or large images required.