Obviamente como ya he dicho no puedes cargar un .exe Win32 dentro de un proceso .NET usando la clase Assembly, ya que dicha clase solo mapea ensamblados .NET en la memoria del proceso.
Por lo que dices, no quieres usar .NET por lo tanto utiliza RunPE para cargar un ejecutable Win32 dentro de otro ejecutable, lo cual se sale de .NET y exige un conocimiento de la cabecera PE.
No es difícil, suele emplearse este método mucho en los crypters para cargar el archivo bindeado en memoria y no dejarlo en disco.
http://foro.elhacker.net/analisis_y_diseno_de_malware/que_es_un_runpe-t340360.0.html
Saludos!