You can create 4 independent threads, each one executes MethodA with a limited-concurrency (actually, no concurrency at all) TaskScheduler. That will ensure that every Task, and continuation Tasks, that the thread creates, will be executed by that thread.
public void MyCallingMethod()
CancellationToken csl = new CancellationToken();
var threads = Enumerable.Range(0, 4).Select(p =>
var t = new Thread(_ =>
Task.Factory.StartNew(() => MethodA(), csl, TaskCreationOptions.None,
//You can block the main thread and wait for the other threads here...
That won't ensure you a 4th degree parallelism, of course.
You can see an implementation of such TaskScheduler in MSDN - https://msdn.microsoft.com/en-us/library/ee789351(v=vs.110).aspx