Parent/Child table design? Lets say I have a table to hold Tasks and then I have a table to hold Sub Tasks, is it better to break Tasks and Sub Tasks into separate tables or keep them both in the same table with a possible ParentId column.  What if a Parent Task could also be a Sub Task, does this change the design?
If a Parent Task and Subtask are essentially identical, save their rank in a hierarchy, then yes, a single table is appropriate. You can use a nullable foreign key to the primary key in the same table like this:

create table tasks (
  task_id bigserial primary key,
  subject text,
  ...,
  parent_task_id bigint null references tasks(task_id)
);


If your database server does Recursive Common Table Expressions (example PostgreSQL), then use those for querying. Here are some examples.