As the process of creating PDFs can use a lot of memory, you might being seeing an issue which is a manifestation of a memory issue (see here; similar errors occur when generating large bitmaps). What could be happening is that your IIS server is running out of memory for the app pool where your app is running.
From looking at the Telerik documentation I can see that "IReportDocument" implements IDisposable, but your code is not disposing this object.
So I'd first change the code so that ReportDocument has it's memory properly disposed of:
public ActionResult PrintPoReport(string id)
{
byte[] contents;
Telerik.Reporting.Processing.RenderingResult result;
using (var reportDocument = new LogisticsReports.PoHeader())
{
var irs = new InstanceReportSource();
irs.ReportDocument = reportDocument ;
irs.Parameters.Add(new Parameter("PoID", id));
var reportProcessor = new Telerik.Reporting.Processing.ReportProcessor();
result = reportProcessor.RenderReport("PDF", irs, null);
contents = result.DocumentBytes;
}
return File(contents, "application/pdf", "P0 #" + id + ".pdf");
}
(Note: forgive any errors in this code. I haven't compiled it)
Also run some diagnostics on your IIS server to look for memory issues. Have you checked the IIS logs for issues?
Also are you sure that all of the signature images in your database are valid i.e. not corrupt? See this article which highlights issues which can arise due to invalid images, which sounds a lot like your issue.