Peter... and you still have the added limitation of using python 2.7 and ArcMap correct?
suggestions from the help (for others in case they haven't seen it
There are insufficient system resources available. The algorithms used in Topo to Raster hold as much information as possible in memory during processing. This allows point, contour, sink, stream, and lake data to be accessed simultaneously.
To facilitate processing of large datasets, it is recommended that unnecessary applications be closed before running the tool to free up physical RAM. It is also important to have sufficient amounts of system swap space on disk. The contour or point input may be too dense for the output cell size specified. If one output cell covers several input contours or points, the algorithm may not be able to ascertain a value for that cell. To resolve this, try any of the following:Decrease the cell size, then resample back to the larger cell size after Topo to Raster.
Rasterize smaller sections of the input data using the Output extent and Margin in cells. Assemble the resulting component rasters with the Mosaic tool. Clip the input data into overlapping sections, and run Topo to Raster separately on each section. Assemble the resulting component rasters with the Mosaic tool.
Use Dice then try Topo To Raster by File since in theory, you should be able to slice and dice, copy and paste the inputs with making minimal changes then run it.
Of course you are still going to be limited by the memory that ArcMap allows